描述問題/錯誤/問題
我想要登入/發文的網站有 cloudflare 保護,基本上當我在 n8n 中使用 HTTP Request 節點時,它會檢測你是否是機器人,但當我使用瀏覽器時,我沒有收到 cloudflare 挑戰。是否有任何免費工具可以繞過機器人檢測?我試過使用社群節點 n8n-nodes-camoufox,但似乎有連接問題 connect ECONNREFUSED ::1:9222 我還可以使用其他社群節點嗎?
錯誤訊息是什麼(如果有的話)?
請分享你的工作流程
(在你的畫布上選擇節點,並使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製和貼上工作流程。)
分享最後一個節點返回的輸出
關於你的 n8n 設置的資訊
- n8n 版本:2.29.8
- 資料庫(預設:SQLite):預設
- n8n EXECUTIONS_PROCESS 設置(預設:own, main):預設
- 執行 n8n 的方式(Docker, npm, n8n cloud, desktop app):npm
- 作業系統:Ubuntu 24.04 LTS
@Ruriko
你遇到這些問題的原因是 Cloudflare 不僅僅查看你的「User-Agent」標頭;它執行 TLS 指紋識別(檢查你的網路連線如何建立)和 JavaScript 挑戰(在瀏覽器中執行程式碼以證明你不是指令碼)。標準的 n8n HTTP Request 節點是一個簡單的 HTTP 用戶端,沒有瀏覽器引擎,所以它會立即失敗這些測試。
要修復此問題,你通常需要在 Ubuntu 終端中手動啟動 Camoufox 或 Chromium 瀏覽器,並啟用遠端除錯標誌:
# 範例(實際命令取決於你的 camoufox 安裝)
camoufox --remote-debugging-port=9222
如果你沒有安裝瀏覽器二進位檔案並將其作為單獨的程序執行,該節點就無法連線到任何東西。
另一個替代方案是 FlareSolverr
你需要透過 docker 安裝
docker run -d \
--name=flaresolverr \
-p 8191:8191 \
-e LOG_LEVEL=info \
--restart always \
ghcr.io/flaresolverr/flaresolverr:latest
然後使用 http 節點傳送你的請求
方法: POST
URL: http://localhost:8191/v1
主體參數 (JSON):
{
"cmd": "request.get",
"url": "https://the-protected-site.com",
"maxTimeout": 60000
}