Back to Home
Previous
Next
中文文档
cf_clearance
, __cf_bm
)When no redirect page appears but cf_clearance
exists, you can set parameter alpha=true for seamless verification (or consult administrator), proxy is required
cf_turnstile-response
) (this type consumes 300 points, input proxy 150 points), proxy is optionalcaptcha_api_key
or similar key (just an example, not necessarily this), parameter value starts with 0.
cookies type: just input the trigger page URL
turnstile type: need to input sitekey parameter additionally
Version | API URL |
---|---|
Universal |
http://api.nocaptcha.io/api/wanda/cloudflare/universal |
Parameter Name | Description | Required |
---|---|---|
User-Token |
User secret, get from homepage |
Yes |
Content-Type |
application/json |
Yes |
Developer-Id |
Developer ID, for developer users, string from homepage invite link (e.g. xxx/register?c=abcdef, then abcdef is Developer ID) |
No |
Parameter Name | Type | Description | Required |
---|---|---|---|
href |
String |
URL that triggers verification |
Yes |
proxy |
String |
Required for cookies mode, optional for turnstile |
Yes |
sitekey |
String |
Required for turnstile type (costs 300 points) |
No |
explicit |
Bool |
Required for turnstile type, check f12 for https://challenges.cloudflare.com/turnstile/v0/api.js?onload=cf__reactTurnstileOnLoad&render=explicit if js link contains render=explicit parameter, set to true, otherwise don't pass, default false |
No |
action |
String |
Pass for turnstile type, see explanation below |
No |
cdata |
String |
Pass for turnstile type, only pass if turnstile.render parameters contain cdata |
No |
user_agent |
String |
Custom request header, don't pass if returns unsupported custom header |
No |
alpha |
Boolean |
Whether it's seamless cookies |
No |
When verification type is turnstile
, and you find render=explicit
parameter in the target website’s *turnstile/v0/api.js
link, then pass explicit=true
, action
, cdata
lookup steps:
Open f12 and search for window.turnstile.render
Set breakpoint here, clear cookie cache and refresh page, when it breaks here, check the action
value and input it
{
"href": "https://nowsecure.nl/",
"proxy": "usr:pwd@ip:port"
}
{
"href": "https://visa.vfsglobal.com/chn/zh/deu/login",
"proxy": "usr:pwd@ip:port",
"sitekey": "0x4AAAAAAACYaM3U_Dz-4DN1"
}
{
"href": "https://app.ogcom.xyz/signup?step=first",
"proxy": "usr:pwd@ip:port",
"sitekey": "0x4AAAAAAASTIy9n6lEJjrIE",
"action": "verification_code",
"explicit": true
}
Parameter Name | Type | Description |
---|---|---|
status |
Integer |
Whether the call was successful, 1 for success, 0 for failure. Use this value to judge |
msg |
String |
Chinese description of the result |
id |
String |
The unique request ID for this particular request (can be used for subsequent record queries) |
data.cookies |
String |
Cookies returned after successful verification |
data.token |
String |
Token returned after successful verification (used for turnstile) |
cost |
String |
Verification time taken (in milliseconds) |
{
"cost": "3380.01ms",
"data": {
"token": "xxx",
"cookies": "xxx=xxx;"
},
"id": "bc174976-81b2-418e-a6e3-9f7c0bbd41ae",
"msg": "验证成功",
"status": 1
}
pip install -U pynocaptcha -i https://pypi.python.org/simple
from pynocaptcha import CloudFlareCracker
cracker = CloudFlareCracker(
user_token="xxx",
sitekey="0x4AAAAAAACYaM3U_Dz-4DN1",
href="https://visa.vfsglobal.com/chn/zh/deu/login",
proxy="usr:pwd@ip:port",
debug=True,
)
ret = cracker.crack()
print(ret)