跳到主要内容

createTask

创建一个绕过 Cloudflare Turnstile 验证码和 Under Attack 模式的任务

请求参数

属性类型必须用途
methodString请求的方法类型,支持 GET 和 POST
urlStringCloudflare 保护的网址链接
apiKeyStringApi 密钥,Alpha 测试期间最大并发请求限制数:5
proxyObject使用代理服务器执行任务,详细结构如下
proxy.urlString代理服务器协议、链接和端口,支持 http、socks4 和 socks5 协议,仅 http 协议支持密码验证
proxy.usernameString代理服务器用户名
proxy.passwordString代理服务器密码

请求示例

curl --location \
--request POST 'https://api.beatfive.net/createTask' \
--header 'Content-Type: application/json' \
--data-raw '{
"method": "get",
"url": "https://faucet.evmos.dev/",
"apiKey": "MYAPIKEY",
"proxy": {"url": "http://PROXYSERVER:PORT", "username": "USER", "password": "PASSWORD"}
}'

响应结构

属性类型用途
codeInt状态代码
msgString响应消息
taskIdString任务 ID
datetimeInt任务完成时间
durationInt任务持续时长(时间单位 ms)
solutionObject任务结果,详细结构如下
solution.urlString任务的网址链接
solution.statusInt请求的响应代码
solution.cookiesArray响应返回的 cookie 数组
solution.userAgentString请求使用的 userAgent
solution.headersObject响应头
solution.responseString响应内容

响应示例

{
"code": 200,
"msg": "Cloudflare Turnstile 验证码和 Under Attack 模式已解决",
"taskId": "427cffcc-a26d-4b9e-8587-a08db7978b53",
"datetime": 1684938407401,
"duration": 24538,
"solution": {
"url": "https://faucet.evmos.dev/",
"status": 200,
"cookies": [
{
"domain": ".evmos.dev",
"expiry": 1719498396,
"httpOnly": false,
"name": "_ga",
"path": "/",
"sameSite": "Lax",
"secure": false,
"value": "GA1.1.1970134704.1684938397"
},
{
"domain": ".evmos.dev",
"expiry": 1719498396,
"httpOnly": false,
"name": "_ga_RTTTT3HLR1",
"path": "/",
"sameSite": "Lax",
"secure": false,
"value": "GS1.1.1684938396.1.0.1684938396.0.0.0"
},
{
"domain": ".evmos.dev",
"expiry": 1716474395,
"httpOnly": true,
"name": "cf_clearance",
"path": "/",
"sameSite": "None",
"secure": true,
"value": "XLrhM5dW_Hw8pXYWddPEckaXXS.JFcwj3JI7CSR2KPI-1684938383-0-250"
}
],
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
"headers": {},
"response": "<!DOCTYPE html>..."
}
}

如何使用任务结果

直接获取响应内容

如果你只需要获取网址链接的内容,可以直接使用任务结果中的 response 属性。

使用其他客户端访问

如果你需要通过其他客户端(例如 Curl、爬虫脚本等)继续访问网址链接并绕过 Cloudflare 的防护,请按照以下步骤操作:

  1. 在后续请求中使用任务结果中名为 cf_clearance 的 cookie。
  2. 确保后续请求的 User-Agent 请求头与任务结果中的 userAgent 属性一致。
  3. 确保后续请求的 IP 地址和代理服务器的一致,或者在一个 C 段内。
提示

极少数网站可能要求 TLS 指纹相似或至少不为常用的爬虫指纹(Curl、Python 的 requests 库等),请使用 curl-impersonate 或者 curl_cffi
Chrome 107 版本后,TLS 将每次刷新或者每隔几分钟随机变化一次,因此目前此检测极少遇到。

信息

根据 Cloudflare文档 的说明,cf_clearance 默认的有效期为30分钟。根据测试,cf_clearance 也有次数限制,具体限制数量不明。