跳转到内容

FunCaptcha

FunCaptcha(Arkose Labs)任务返回一个 token(token),提交给目标网站即可通过验证,不需要做图片题。FunCaptchaTaskProxylessM1 每个任务 110 点(0.11 元),自带代理的 FunCaptchaTask 每个任务 15 点(0.015 元),都是异步:先 createTask,再每 5 秒 getTaskResult。识别失败、超时自动退点。

POSThttps://api.yescaptcha.com/createTask国际节点
POSThttps://cn.yescaptcha.com/createTask国内节点

请求体是 JSON,用 clientKey 鉴权。在哪个节点创建的任务,就到哪个节点查询结果。

网页加载了 Arkose Labs(arkoselabs.com、funcaptcha.com)的验证,常见于注册、登录页面。想拿 token 直接提交,用这一页;想自己在浏览器里做图片题,用 FunCaptcha 图像识别。

任务类型价格返回方式说明
FunCaptchaTaskProxyless30 点(0.03 元)异步
FunCaptchaTaskProxylessM1110 点(0.11 元)异步
FunCaptchaTask15 点(0.015 元)异步自带代理
  • FunCaptchaTask 用你自己的代理加载验证码,必须传代理字段和 userAgent。
  • 三个类型参数基本相同,可以对比通过率选用。
字段类型必填说明
typestring是任务类型,取值见本页"类型与价格"
websiteURLstring是出现验证码的网页地址(完整 URL)。填你看到验证码的网站,不要填验证码厂商的域名
websitePublicKeystring是FunCaptcha 的公钥(public key),网页里 data-pkey 的值,或者请求地址里 pkey= 后面的部分,形如 B7D8911C-5CC8-A9A3-35B0-554ACEE604DA
funcaptchaApiJSSubdomainstring否加载 FunCaptcha 的子域名,部分网站是定制的,按网页里 iframe 的地址填,例如 client-api.arkoselabs.com
datastring否附加的 blob 数据,JSON 字符串,形如 {"blob":"..."}。原样传入,不要做 URL 编码;网页没有用到时不传
userAgentstringFunCaptchaTask 必填浏览器 User-Agent,要和你访问目标网站时用的一致
proxyTypestringFunCaptchaTask 必填代理协议:http、https、socks4、socks5
proxyAddressstringFunCaptchaTask 必填代理的 IP 地址或域名。不能填 127.0.0.1、192.168.x.x 这类本机或内网地址,我们的服务器访问不到
proxyPortintegerFunCaptchaTask 必填代理端口
proxyLoginstring否代理用户名(代理需要认证时)(仅 FunCaptchaTask)
proxyPasswordstring否代理密码(代理需要认证时)(仅 FunCaptchaTask)
  • websiteURL:填你看到验证码的网站,不要填 funcaptcha.com、arkoselabs.com。
  • websitePublicKey:网页里 data-pkey 的值,或者请求地址 …/fc/api/nojs/?pkey=… 里 pkey 的值。
  • funcaptchaApiJSSubdomain:部分网站用定制的子域名加载验证码,按网页里 iframe 的地址填,例如 client-api.arkoselabs.com。
  • data:网站传给验证码的 blob 数据,形如 {"blob":"..."} 的 JSON 字符串,原样传入,不要把 %3D、%2B 这类字符转义或反转义。找不到就不传。
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "FunCaptchaTaskProxylessM1",
"websiteURL": "https://example.com/signup",
"websitePublicKey": "B7D8911C-5CC8-A9A3-35B0-554ACEE604DA",
"funcaptchaApiJSSubdomain": "client-api.arkoselabs.com"
}
}
终端窗口
curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "FunCaptchaTaskProxylessM1",
"websiteURL": "https://example.com/signup",
"websitePublicKey": "B7D8911C-5CC8-A9A3-35B0-554ACEE604DA",
"funcaptchaApiJSSubdomain": "client-api.arkoselabs.com"
}
}'
# 返回 {"errorId":0,"taskId":"..."},然后每 5 秒查询一次结果:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

用自己的代理,并带上 blob 数据:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "FunCaptchaTask",
"websiteURL": "https://example.com/signup",
"websitePublicKey": "B7D8911C-5CC8-A9A3-35B0-554ACEE604DA",
"data": "{\"blob\":\"BLOB_VALUE_FROM_THE_PAGE\"}",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
"proxyType": "http",
"proxyAddress": "proxy.example.com",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass"
}
}
{
"errorId": 0,
"status": "ready",
"solution": {
"token": "36859d1086acb06e7.08293101|r=ap-southeast-1|metabgclr=%23ffffff|..."
}
}
字段类型说明
tokenstring得到的 token,提交给目标网站。一次性使用,建议尽快用掉

处理中时返回 {"errorId": 0, "status": "processing"},5 秒后再查。出错时按 errorCode 处理,见 错误码。

一次性使用,建议拿到后尽快提交。

先检查 websitePublicKey 和 funcaptchaApiJSSubdomain;网站要求 blob 数据的,data 必须带上而且不能被转义。FunCaptchaTaskProxyless 在修复期间会一直失败(自动退点),请换用另外两个类型。