
穿雲API:Cloudflare 與 DataDome 驗證處理
驗證處理:支援 Cloudflare JS Challenge、Turnstile、適用的 DataDome 滑塊與拼圖驗證碼,以及 Imperva / Incapsula 驗證流程。
代理串接:提供輪換住宅與資料中心代理,支援 HTTP、SOCKS5 與第三方代理。依目標地區選擇線路,並保持 IP 與工作階段一致。
請求設定:可設定 TLS 指紋、User-Agent 與請求標頭,讓請求參數與工作階段保持一致。
開發者串接:提供 cURL、Python、Go、Node.js 與 Java 請求範例,可整合至現有資料擷取程式。
回應處理: 透過協定請求取得 HTML 或 JSON 後,先檢查回應狀態與內容,再交由解析器處理。





- 設定請求
設定目標、參數與代理
- 驗證與路由
處理驗證並選擇請求線路
- 取得 HTML / JSON
檢查回應狀態與內容
- 交由業務解析
使用現有解析器擷取資料
HTTP API 程式碼範例
V2 Part 模式:處理 Cloudflare JS Challenge 和 DataDome 挑戰。
#!/usr/bin/env bash
set -euo pipefail
: "${CLOUDBYPASS_APIKEY:?Set CLOUDBYPASS_APIKEY first}"
: "${CLOUDBYPASS_PROXY:?Set CLOUDBYPASS_PROXY first}"
headers=$(mktemp)
body=$(mktemp)
trap 'rm -f "$headers" "$body"' EXIT
curl --fail-with-body --silent --show-error --max-time 130 \
--dump-header "$headers" --output "$body" \
"https://api.cloudbypass.com/your/path" \
--header "x-cb-apikey: $CLOUDBYPASS_APIKEY" \
--header "x-cb-host: example.com" \
--header "x-cb-version: 2" \
--header "x-cb-proxy: $CLOUDBYPASS_PROXY" \
--header "x-cb-part: 0" \
--header "x-cb-timeout: 120"
if ! grep -iq '^x-cb-status: *ok[[:space:]]*$' "$headers"; then
cat "$body" >&2
exit 1
fi
cat "$body"import os
import requests
key = os.environ["CLOUDBYPASS_APIKEY"]
proxy = os.environ["CLOUDBYPASS_PROXY"]
if not key or not proxy:
raise ValueError("Set API key and proxy first")
headers = {
"x-cb-apikey": key,
"x-cb-host": "example.com",
"x-cb-version": "2",
"x-cb-proxy": proxy,
"x-cb-part": "0",
"x-cb-timeout": "120",
}
response = requests.get(
"https://api.cloudbypass.com/your/path",
headers=headers,
timeout=(10, 130),
)
if response.headers.get("x-cb-status") != "ok":
raise RuntimeError(response.text)
response.raise_for_status()
print(response.text)package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
"time"
)
func main() {
key, proxy := os.Getenv("CLOUDBYPASS_APIKEY"), os.Getenv("CLOUDBYPASS_PROXY")
if key == "" || proxy == "" { log.Fatal("Set API key and proxy first") }
req, err := http.NewRequest("GET",
"https://api.cloudbypass.com/your/path", nil)
if err != nil { log.Fatal(err) }
req.Header.Set("x-cb-apikey", key)
req.Header.Set("x-cb-host", "example.com")
req.Header.Set("x-cb-version", "2")
req.Header.Set("x-cb-proxy", proxy)
req.Header.Set("x-cb-part", "0")
req.Header.Set("x-cb-timeout", "120")
client := &http.Client{Timeout: 130 * time.Second}
res, err := client.Do(req)
if err != nil { log.Fatal(err) }
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil { log.Fatal(err) }
if res.Header.Get("x-cb-status") != "ok" || res.StatusCode >= 400 {
log.Fatal(string(body))
}
fmt.Println(string(body))
}async function main() {
const key = process.env.CLOUDBYPASS_APIKEY;
const proxy = process.env.CLOUDBYPASS_PROXY;
if (!key || !proxy) throw new Error("Set API key and proxy first");
const response = await fetch(
"https://api.cloudbypass.com/your/path",
{
headers: {
"x-cb-apikey": key,
"x-cb-host": "example.com",
"x-cb-version": "2",
"x-cb-proxy": proxy,
"x-cb-part": "0",
"x-cb-timeout": "120",
},
signal: AbortSignal.timeout(130000),
}
);
const body = await response.text();
if (response.headers.get("x-cb-status") !== "ok" || !response.ok) {
throw new Error(body);
}
console.log(body);
}
main().catch(error => {
console.error(error.message);
process.exitCode = 1;
});import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class Main {
public static void main(String[] args) throws Exception {
String key = System.getenv("CLOUDBYPASS_APIKEY");
String proxy = System.getenv("CLOUDBYPASS_PROXY");
if (key == null || key.isBlank() || proxy == null || proxy.isBlank()) {
throw new IllegalStateException("Set API key and proxy first");
}
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10)).build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.cloudbypass.com/your/path"))
.timeout(Duration.ofSeconds(130))
.header("x-cb-apikey", key)
.header("x-cb-host", "example.com")
.header("x-cb-version", "2")
.header("x-cb-proxy", proxy)
.header("x-cb-part", "0")
.header("x-cb-timeout", "120")
.GET().build();
HttpResponse<String> response = client.send(
request, HttpResponse.BodyHandlers.ofString());
if (!response.headers().firstValue("x-cb-status").orElse("").equals("ok")
|| response.statusCode() >= 400) {
throw new IllegalStateException(response.body());
}
System.out.println(response.body());
}
}V1 預設使用輪換代理;V2 必須提供固定或黏性代理;V2s 使用 x-cb-version: 2s 支援串流回應。
Turnstile 需提供 x-cb-sitekey,並在目標請求需要的位置填入 [cf_token]。
同一工作階段分區請維持相同代理;並行工作執行緒使用不同的 x-cb-part(0–999)。
穿雲接取流程
2.程式碼產生器
透過程式碼產生器設定並測試 Cloudflare 或 DataDome 請求。兩者共用相同的接入邏輯與程式碼呼叫方式,保持代理 IP、Cookie 與工作階段一致。
V1版本自帶動態IP池,如可訪問,不需要配置IP代理;
V2版本必須配置固定IP或時效IP,如穿雲動態IP 需設定10分鐘以上時效。 (如圖)
3.整合穿雲API
將測試通過的請求程式碼整合至現有程式。Cloudflare 與 DataDome 共用相同的 API 接入邏輯與呼叫方式;檢查回應狀態與內容後,再進行解析、分頁或自動化作業。
4.購買套餐
測試通過後,依業務用量選擇方案。Cloudflare 與 DataDome 共用同一套 API 點數,採用統一的點數消耗規則與定價策略。查看價格
IP代理流量就購買:【動態機房IP或動態住宅IP】
Cloudflare 與 DataDome 驗證處理會消耗 API 點數,部分流程需要代理配合。API 點數與代理流量分開計費;代理線路不能取代驗證碼處理。
適用於 Cloudflare 與 DataDome 的網頁擷取 API
把驗證處理與業務解析分開。穿雲API處理 Cloudflare JS Challenge、Turnstile,以及支援的 DataDome 滑塊與拼圖驗證碼;串接對應流程後,再擷取網頁中的業務資料。
-
Cloudflare 與 DataDome 驗證處理
Cloudflare 與 DataDome 共用相同的 API 接入邏輯與程式碼呼叫方式。
-
HTML / JSON 回應檢查
先確認回應狀態與內容不是攔截頁或驗證碼頁,再交給現有解析器;取得 HTML 並不代表已擷取業務資料。
-
彈性設定請求標頭(Headers)
支援自訂 Referer 與各類 Header,讓請求更符合目標站點的安全校驗。
-
自訂請求本文(Body)參數
支援多種請求模式,靈活傳遞業務資料、JSON Payload 與表單參數。
-
支援查詢參數(Query Params)
精準處理 URL Query String,適用搜尋、分頁、篩選等採集情境。
-
支援 HTTP/Socks5 自訂代理
相容外部代理接入,搭配動態 IP 池,實現匿名存取與地理位置模擬。
使用 Python、Go、Node.js、Java 或 cURL 串接
透過標準 HTTP 請求,以同一套接入邏輯與程式碼呼叫方式處理 Cloudflare 與 DataDome,保留現有資料擷取框架。保持代理 IP、Cookie 與工作階段一致,並檢查回應狀態與內容。
-
cURL 命令列呼叫
支援原生 cURL 快速測試,一行指令即可驗證存取效果,極速接入。
-
Python SDK(官方原生支援)
相容 requests 與 aiohttp,支援非同步高併發,適合資料採集場景。
-
Go SDK(企業級高併發)
發揮 Go 併發優勢,提供高效能且型別安全的介面,支援大規模抓取。
-
Node.js SDK(JavaScript 環境)
適配全棧開發與自動化框架,支援後端服務與腳本環境的高速請求轉發。
-
Java API 整合
符合企業開發規範,支援多執行緒呼叫,適用複雜業務流程的穩定存取。
-
TypeScript 全棧支援
提供完整型別定義,提升程式穩定性,適配現代化資料採集工作流。
Cloudflare 與 DataDome 的指紋、IP 與工作階段一致性
處理驗證時,維持 TLS 指紋、User-Agent、請求標頭、Cookie 與代理 IP 一致。排查 DataDome 驗證碼循環、403 或 429 時,同時檢查目標回應、連線路徑與工作階段參數。
-
適配 anti-bot 反自動化機制
持續更新策略,對新版機器人識別機制提供協議層處理能力。
-
支援 Cloudflare 驗證全情境
涵蓋 JS 驗證到高強度 Turnstile CAPTCHA(人機驗證),提升通過率。
-
相容 WAF / CDN 多層防護
支援多重邊緣校驗流程,涵蓋 Imperva、Akamai 等主流防護體系。
-
可自訂 Referer 來源參數
模擬流量來源鏈路,適配對來源校驗更嚴格的目標站點。
-
彈性設定 User-Agent 標識
支援 PC 與行動裝置 UA 切換,按需求調整,降低異常偵測風險。
-
支援 Headless 模式
在協議層模擬 Headless 行為,兼顧渲染能力與效率,提升存取速度。
跨平台 HTTP API 與自動化資料擷取
在 Windows、macOS、Linux 或雲端程式中,透過 HTTP 請求串接支援的 Cloudflare、DataDome 驗證流程。存取層取得 HTML 或 JSON,業務層繼續負責解析、重試與任務排程。
-
Windows 系統部署支援
適配 Windows 開發環境,支援本機除錯與中小型採集任務快速落地。
-
macOS 開發與生產環境
相容 Apple 全系列晶片,提供流暢本機體驗,提升開發與除錯效率。
-
Linux 伺服器環境(首選)
針對主流 Linux 深度最佳化,支援 Docker 容器化與集群水平擴展。
-
CentOS 企業級系統
符合企業穩定性需求,支援在傳統 IDC 機房長時間穩定運作。
-
iOS 行動端網路請求
支援行動端協議轉發,為 App 分析與資料存取提供底層能力。
-
Android 行動端代理存取
適配 Android 生態 API 呼叫,支援自動化工具進行更穩定的請求轉發。
支援 Cloudflare 與DataDome 網頁擷取流程
整合驗證處理與代理工作階段,銜接您的資料擷取流程

- 目標網頁
- 驗證處理Cloudflare · DataDome
- 回傳內容
適用場景
Cloudflare 與 DataDome 驗證情境下的資料擷取
電商價格、庫存及票務等資料擷取任務,可搭配支援的 DataDome 驗證碼處理與代理串接。維持地區、工作階段及請求參數一致,再進行分頁與內容解析。
|
|
覆蓋電商平台與獨立站,支援商品上新追蹤、競品對標、價格與活動監控、口碑趨勢分析等場景,協助營運快速掌握市場變化,提升選品與定價決策效率。 |
|
|
面向投放與成長團隊,持續追蹤競品廣告素材、落地頁變化與關鍵字趨勢,沉澱可複用的投放情報與創意資產,支援策略復盤與投放優化閉環。 |
|
|
覆蓋社群內容流與互動數據,支援熱點追蹤、話題趨勢分析、達人篩選與輿情監測,協助團隊識別爆款規律與擴散路徑,提升內容營運效率。 |
|
|
面向素材沉澱與創意複用,支援影片與圖片內容歸檔、標籤整理與熱度追蹤,建立可檢索的素材庫與參考體系,縮短內容產出週期並提升交付一致性。 |
|
|
聚合資訊與內容平台的更新動態,支援熱點事件追蹤、主題聚合與章節同步,沉澱結構化內容資產庫,為推薦訓練、內容營運與研究分析提供支撐。 |
|
|
覆蓋股票、指數、外匯、商品與加密資產行情,支援即時/歷史價格、K 線指標,並整合新聞與公告,滿足回測研究、監控預警與量化策略需求。 |
|
|
覆蓋招聘平台與企業職缺資訊,用於洞察用人需求、技能趨勢與薪酬變化,輔助招聘節奏、用工結構與產業研究,提升人才決策的可視化與可量化能力。 |
|
|
支援房源與在地服務資訊整合,適用於區域行情監控、商圈評估與選址分析,協助團隊掌握供需變化與價格趨勢,提升在地經營與轉化效率。 |
|
|
面向出行服務與產業分析,支援機酒票務與簽證規則的統一彙整與動態追蹤,在價格與規則頻繁變動下維持資料可用性,為規劃與決策提供支援。 |
|
|
覆蓋優惠券與活動權益資訊,支援促銷趨勢追蹤、券效評估與券後價策略分析,讓導購推薦與活動復盤更精準,提升轉化效率與營運可控性。 |
|
|
覆蓋海運航線與船期、港口節點、集裝箱動態與運價附加費等資訊,支援軌跡監控與異常預警,協助企業評估時效與成本波動,提升履約可預測性。 |
|
|
面向反詐欺與安全營運,聚合風險 IP/網域、異常行為線索與信譽情報,支援策略評估與告警聯動,協助業務降低濫用風險,確保系統穩定與安全邊界。 |
穿雲產品常見問題
套餐積分消耗是怎麼算的?
Cloudflare 與 DataDome 共用同一套 API 點數,採用統一的點數消耗規則與定價策略。依業務用量選擇方案;代理流量分開計費。
V1、V2 每次請求成功後消耗 1 點 API 點數。
V2 遇到並成功完成驗證挑戰時,額外消耗 2 點。適用挑戰包括 Cloudflare JS 質詢、Cloudflare Turnstile、DataDome 與 Incapsula。
請求未成功時不扣基本請求點數;但驗證挑戰成功後會立即扣除 2 點,即使後續回應出錯,這部分挑戰點數也不會退還。
重複使用有效工作階段可減少重複挑戰,但每次成功請求仍消耗 1 點,並非工作階段內的後續請求免費。
點數須在方案有效期內使用,逾期後清空。不同方案分別計算有效期,並優先使用最早到期的點數。
穿雲API的原理是什麼?
透過標準 HTTP 請求,以同一套接入邏輯與程式碼呼叫方式處理 Cloudflare 與 DataDome,保留現有資料擷取框架。保持代理 IP、Cookie 與工作階段一致,並檢查回應狀態與內容。 是否支援特定目標仍取決於網站與驗證類型,請先測試相容性。統一方案不代表所有目標都能成功存取。
這個穿雲API怎麼使用?有程式碼範例嗎?
穿雲API的V1和V2版本的區別是什麼?
V2版本能過js輪詢(能渲染JS);
目前V2版本沒有預設代理,需要再購買穿雲代理IP,V1版本自帶動態代理
穿雲API的V2版本裡的會話分區是什麼意思?
會話分區用來區分管理cloudflare Cookie的,透過驗證後會話生效。生效後代理IP、指紋等將持續10分鐘無法更改,這是為了確保在會話期間內不會觸發新的驗證。至於帳號會話需要自行管理。
從0-999,使用者最多可以擁有1000個會話分區。第一次請求成功後會話分區將會鎖定代理IP,可以透過修改會話分區值提交其它代理IP。會話鎖定時長為十分鐘,成功請求將刷新時長。
如何判斷是用穿雲V1版本還是V2版本過盾?
穿雲API的最大請求並發數是多少?
目前我們所有套餐的最大並發請求數是30次/s。
提示:"code":"INSUFFICIENT_BALANCE"
INSUFFICIENT_BALANCE 這個錯誤是你沒有穿雲API積分了。
你可以在穿雲API後台購買:https://console.cloudbypass.com/#/api/login,或 聯絡客服:領取測試積分。
提示:"code": "CHALLENGE_LOCK_OCCUPIED"
報錯訊息:
"code": "CHALLENGE_LOCK_OCCUPIED"
"message": "The current part is being challenged, please wait for the lock to be released."
錯誤說明:
出現 CHALLENGE_LOCK_OCCUPIED 說明程式碼可能有以下問題:
同一 part 被多個線程同時使用。
多個使用者使用同一帳號並操作相同 part。
上一個請求佔用了驗證鎖,可能因逾時或人為中斷而尚未完成。
解決方案:
等待鎖定釋放,稍後再嘗試請求。
更換 part,可選範圍為 0~999。
提示:code": "FORBIDDEN", "message": "V3 Challenge Failed"
解決方案:
1.提取IP時設定10分鐘時效。
2、換個國家地區的IP。 (多提取點不同國家的IP輪詢使用,只用同一個國家地區的IP容易被限制)
爬取時出現403、503或 Access Denied 是什麼問題?
這種情況大機率是需要設定代理IP了,選擇API模式和代理模式其中一種來使用我們的服務,國內用戶推薦使用API模式,目前只支援http協定的代理IP。
穿雲API支援selenium或Puppeteer嗎?
目前不支援selenium或Puppeteer,因為沒使用到瀏覽器,只是模擬瀏覽器請求,但你可以結合指紋瀏覽器使用。
如何透過 API 處理 DataDome 滑塊與拼圖驗證碼?
針對支援的 DataDome 滑塊與拼圖驗證碼,可沿用 Cloudflare 的 API 接入邏輯與程式碼呼叫方式,共用 API 點數與定價規則。保持代理 IP、Cookie 與工作階段一致,並檢查回應內容;操作說明請見DataDome 驗證碼處理 API。代理只提供連線,不能取代驗證碼處理。
你們提供包月嗎?
我們沒有包月套餐,我們的定價計劃是按流量包計費的,不限制時效;您可以根據自身需求購買流量包,用多少買多少,永不過期。
穿雲代理支援哪些付款方式?
穿雲代理支援支付寶,USDT等付款方式。
流量包的使用量是怎麼計算的?
動態IP代理使用量=上傳+下載資料。
提取指定國家的IP為什麼顯示的是其他 國家的,不是我指定的國家的IP
請使用我們提供的http://ipinfo.cloudbypass.com 查詢。
穿雲代理IP提供哪些代理網絡?
穿雲代理IP提供兩種代理網路:動態住宅代理IP和動態機房IP(資料中心代理)。
在穿雲代理,您可以一站式購買所需的各種代理形式。
穿雲代理IP支援哪些協定類型?
穿雲代理目前支援http以及Socks5代理協定。
你們是否提供不計流量的套餐?
我們的定價模式主要是基於流量包形式的。對於動態住宅IP和動態機房IP,我們都是按流量包的套餐模式,無限制時效。您可在註冊後申請免費試用,以評估我們的解決方案並確定您購買的流量包。
我是中國用戶,我可以使用嗎?
很遺憾,我們的代理商無法中國大陸IP環境下直連。
但是您可以部署一個境外網路環境(如香港的伺服器),在境外網路中盡情使用代理程式。
在電腦端您可以部署全域NPV加速器輔助使用;
在手機端您可以部署一個軟路由,手機透過連接路由器WIFI網路處於境外環境;
如果您沒有搭建境外 網路環境的能力,請停止購買,我們不為直連的中國用戶提供退款。
穿雲幫助中心
Cloudflare 與 DataDome 串接指南
穿雲繞過Cloudflare API常見問題
Cloudflare 與 DataDome 共用相同的 API 接入邏輯與程式碼呼叫方式。 Cloudflare 與 DataDome 共用同一套 API 點數,採用統一的點數消耗規則與定價策略。依業務用量選擇方案;代理流量分開計費。
看更多
穿雲用戶對我們服務的評價
「穿雲API極大地提升了我的數據採集和網頁抓取效率。尤其是在處理需要繞過Cloudflare五秒盾和人機驗證的網站時,它表現非常穩定可靠。介面設計簡潔易懂,讓我幾乎零學習成本即可上手,大幅減少了開發與除錯的時間。對於像我這樣需要長期處理海量數據的科研工作者來說,穿雲API無疑是一款能夠節省精力並保證數據採集品質的高效反爬蟲工具,強烈推薦給所有從事自動化爬蟲和大規模數據挖掘的開發者!」
「我從事網路爬蟲開發多年,遇到最大問題往往是Cloudflare的驗證碼和防護機制。自從使用穿雲API之後,這些困擾迎刃而解。它能穩定、快速地繞過Cloudflare驗證,確保爬蟲在長時間運行中依然高效穩定,真正實現了『無感採集』。現在,我能更專注於業務邏輯和數據分析,而不是花時間處理煩人的反爬機制。穿雲API已經成為我專案中不可或缺的一部分!」
「作為自由職業者,我經常需要為不同客戶進行網頁數據採集和內容抓取。過去,遇到Cloudflare五秒盾和複雜的JS挑戰,總讓我感到頭痛。但自從接觸穿雲API後,一切都變得簡單順暢。它能精準識別並自動處理各種驗證,大幅減少了我的人工干預,讓我能快速交付高品質的數據。穿雲API不僅功能強大,而且使用體驗非常流暢,是一款值得長期信賴的專業數據採集API。」
「在市場研究中,獲取全面且及時的數據至關重要。然而,許多網站都有反爬蟲機制,尤其是Cloudflare的403錯誤和驗證碼攔截,這曾經讓我十分頭痛。穿雲API徹底解決了這一問題,它幫助我穩定地採集目標網頁數據,讓我無需擔心存取受阻。它的優勢在於兼具高效性和可靠性,讓我能快速完成分析報告,提升了團隊的整體效率。對於任何需要大量數據支撐的分析工作,我都強烈推薦穿雲API!」
「我一直在尋找一款能穩定應對Cloudflare防護的工具,而穿雲API正好滿足了我的需求。它可以輕鬆繞過Cloudflare五秒盾和人機驗證,而且介面文件詳細清晰,開發者上手毫無壓力。在我的多個爬蟲專案中,穿雲API大幅提升了採集的成功率與穩定性,再也不用被驗證碼中斷流程。對程式設計師來說,它不僅僅是一個工具,更像是一個可靠的夥伴,真正提高了工作效率。」
「起初我是透過朋友推薦才了解到穿雲API的,坦白說一開始我對它的實際效果還有些懷疑。但在我的創業專案中親身嘗試後,我發現它確實能穩定繞過Cloudflare的各種人機驗證與反爬蟲挑戰,讓我的數據採集流程變得順暢高效。對創業團隊而言,時間和資源都十分寶貴,而穿雲API正好解決了最棘手的技術難題,為我的業務成長帶來了極大的助力。可以說,它是我專案發展的秘密武器。」





