FuncaptchaTaskProxyless : Funcaptcha 协议接口

通过 createTask方法 创建识别任务,然后通过 getTaskResult 方法 获取识别结果

此对象用于识别Funcaptcha验证码

创建任务

通过 createTask方法 创建识别任务

请求节点: 国际节点 https://api.yescaptcha.com 国内节点 https://cn.yescaptcha.com

请求地址: https://api.yescaptcha.com/createTask

请求格式:POST application/json

对象结构

属性

类型

必须

说明

属性

类型

必须

说明

type

string

FunCaptchaTaskProxyless 30 POINTS

FunCaptchaTaskS1 30 POINTS ->15 POINTS需要提供代理 内测中

websiteURL

string

目标网页的地址。URL填你看到验证码的网站,

不要填funcaptcha的域名,funcaptcha.com arkoselabs.com

比如:https://signup.live.com/signup?mkt=cn&lic=1

websitePublicKey

String

FunCaptcha公钥:<div id="funcaptcha" data-pkey="THAT_ONE"></div>

这个是Key很好找,一般是在这样:https://funcaptcha.com/fc/api/nojs/?pkey=B7D8911C-5CC8-A9A3-35B0-554ACEE604DA

这里就是:B7D8911C-5CC8-A9A3-35B0-554ACEE604DA

funcaptchaApiJSSubdomain

String

可选,FunCaptcha.com的子域名,特殊情况需要此参数。

因为有部份网站的子域名是定制的,需要自己找一下,根据网页上的iframe地址,

比如:"https://client-api.arkoselabs.com" "https://blizzard-api.arkoselabs.com"

data

String

可选,FunCaptcha可能需要的附加参数:{"\blob\":\"HERE_COMES_THE_blob_VALUE\"}

指arkoseBlob值,如果找不到不用填,注意里面的内容不要转义,例:

下面的data里面,不要转义成: %3D %2B,需要保持原样

"data": "{\"blob\":\"uTFV9CpWqePlXUPYyAA0LA%3D%3D.dDpjP8aZcp0x%2FPdUeAvueWnj77sMh4wEXpuxlkBBs0u43jUncBGvOJRZCQRkbEWBK2fTd2%2B%2FZvZYa8bnEq6YUC991ryIIBVlGxSP1iCwpkyJyN%2BqHsDBX9UNwbzNRWllDViYJotSEjHfub4WWQEKx8tnO7w%3D\"}",

proxy

String

FunCaptchaTaskS1 需要传代理

代理地址,支持以下格式:

  • 有密码http/https代理:http://user:pass@45.91.239.47:62930

  • 没有密码http/https代理:http://45.91.239.47:62930

  • 没有密码的socks5代理: socks5://5.252.190.52:64585

  • !不支持带密码的socks5代理!

注意:如果需要权限,请将43.154.193.54加入白名单

注意:CF盾对代理要求较高,请使用国际代理,如果报ERROR_CAPTCHA_UNSOLVABLE错误,请更换代理再试一下,也可以联系我们测试是否能过(绝大部份情况都能过)

注意:不要使用本地代理(127.0.0.1、localhost、192.168.x.x、172.0.x.x),本地代理只有你自己电脑才能访问,服务器访问不了!

请求示例

{ "clientKey": "xxxxxxxxxxxxx填你的密钥xxxxxxxxxxxxxxxxxx", "task": { // 注释不要写进去 "type": "FunCaptchaTaskProxylessM1", // URL填你看到验证码的网站,不要填funcaptcha的域名,funcaptcha.com arkoselabs.com "websiteURL": "https://signup.live.com/signup?mkt=cn&lic=1", // data是指arkoseBlob值,如果找不到不要填,注意里面的内容不要转义 "data": "{\"blob\":\"tSY8okARUUTXMUAw.OYZlTyUybVsIeMmfw23qK/HJrGJDHPsgpnWW2Hdn1nKMEfiCOye1JLiZGm/oHH0MuD3pDSb4GIZNzMkO9k6CfcXrxF3eUNaaRZQCf+mpMJFouL9YDfs5ztt4w32bA5kEPNkIjx6VgS2gLKovZPozNN6txGE=\"}", // 这个是Key很好找,一般是在这样:https://funcaptcha.com/fc/api/nojs/?pkey=B7D8911C-5CC8-A9A3-35B0-554ACEE604DA "websitePublicKey": "B7D8911C-5CC8-A9A3-35B0-554ACEE604DA", // 因为有部份网站的子域名是定制的,需要自己找一下,根据网页上的iframe地址 "funcaptchaApiJSSubdomain": "https://client-api.arkoselabs.com" } }

响应示例

{ "errorId": 0, "errorCode": "", "errorDescription": "", "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // 请记录此ID }

获取结果

使用 getTaskResult 方法获取识别结果

请求地址:https://api.yescaptcha.com/getTaskResult

请求格式:JSON POST

根据系统负载,您将在 10s 到 30s 的时间间隔内得到结果

请求示例

{ "clientKey":"cc9c18d3e263515c2c072b36a7125eecc078618f3", "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" }

响应结果

参数

类型

说明

参数

类型

说明

errorId

Integer

错误提示: 0 - 没有错误,1 - 有错误

errorCode

string

错误代码,点这里查看全部错误列表

errorDescription

string

错误详细描述

status

String

processing - 正在识别中,请3秒后重试
ready - 识别完成,在solution参数中找到结果

solution

Object

识别结果,不同类型的任务结果会有所区别。

token

string

识别结果:TOKEN值。

一次性使用,有效期120s,建议在60s内使用。

响应示例

 

响应说明

  • 识别成功:当errorId等于0 并且status等于 ready,结果在solution里面。

  • 正在识别中:当errorId等于0 并且status等于 processing,请3秒后重试。

  • 出错了:当errorId 大于0,请根据errorDescription了解出错误信息 全部错误说明