Résoudre le captcha de Turnstile via un proxy - TurnstileTask
Turnstile captcha est une autre tentative de remplacer Recaptcha. Nous prenons automatiquement en charge tous ses sous-types : manuel, non interactif et invisible. Il n'est pas nécessaire de spécifier le sous-type. Il n'est pas non plus nécessaire de fournir votre propre User-Agent personnalisé et cela ne fonctionnera pas du tout.
Ce type de tâche nécessite un proxy. Veuillez l'utiliser uniquement si les tâches sans proxy (TurnstileTaskProxyless) échouent, car cela ralentit nos travailleurs. La résolution des captchas à l'aide de proxys nécessite également des proxys de très haute qualité que vous devez installer vous-même sur vos propres serveurs VPS et ne jamais utiliser de services de proxy achetés. Pour en savoir plus, veuillez consulter cette section FAQ sur les proxys.

Objet de tâche
Propriété | Type | Obligatoire | Objectif |
---|---|---|---|
type | String | Yes | TurnstileTask |
websiteURL | String | Yes | Adresse d'une page Web cible. Peut être situé n'importe où sur le site Web, même dans une zone membre. Nos ouvriers n'y naviguent pas, mais simulent plutôt la visite. |
websiteKey | String | Yes | Clé de site pour tourniquet |
proxyType | String | Yes | Type de proxy http - proxy http/https habituel socks4 - proxy socks4 socks5 - proxy socks5 |
proxyAddress | String | Yes | Adresse IP proxy ipv4/ipv6. Aucun nom d'hôte ou adresse IP des réseaux locaux. |
proxyPort | Integer | Yes | Port proxy |
proxyLogin | String | Non | Connexion pour proxy qui nécessite une autorisation (de base) |
proxyPassword | String | Non | Mot de passe proxy |
Exemple de demande
curl -i -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST -d '{
"clientKey":"YOUR_API_KEY_HERE",
"task":
{
"type":"TurnstileTask",
"websiteURL":"https://website.com/",
"websiteKey":"0xAAAAAAAABBBBBBBCCCCCC",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere"
},
"softId": 0
}' https://api.anti-captcha.com/createTask
<?php
//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git
include("anticaptcha.php");
include("turnstile.php");
$api = new Turnstile();
$api->setVerboseMode(true);
//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");
//target website address
$api->setWebsiteURL("https://website.com/");
//turnstile key from target website
$api->setWebsiteKey("0xAAAAAAAABBBBBBBCCCCCC");
//proxy access parameters
// DO NOT USE PURCHASED/RENTED PROXIES ON PROXY SERVICES!!!
// THEY WILL NOT WORK!
// USE ONLY PROXIES YOU INSTALL YOURSELF ON YOUR OWN SERVER OR FAST VPS
// USE PROPER PROXY SOFTWARE LIKE SQUID !
// INSTALLATION INSTRUCTIONS:
// https://anti-captcha.com/apidoc/articles/how-to-install-squid
$api->setProxyType("http");
$api->setProxyAddress("8.8.8.8");
$api->setProxyPort(1234);
//optional login and password
$api->setProxyLogin("login");
$api->setProxyPassword("password");
//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
$api->setSoftId(0);
//create task in API
if (!$api->createTask()) {
$api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
return false;
}
$taskId = $api->getTaskId();
//wait in a loop for max 300 seconds till task is solved
if (!$api->waitForResult(300)) {
echo "could not solve captcha\n";
echo $api->getErrorMessage()."\n";
} else {
$token = $api->getTaskSolution();
echo "\n";
echo "your turnstile token: $token\n\n";
}
#pip3 install anticaptchaofficial
from anticaptchaofficial.turnstileproxyon import *
solver = turnstileProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com/")
solver.set_website_key("sitekey_here")
solver.set_proxy_address("PROXY_ADDRESS")
solver.set_proxy_port(1234)
solver.set_proxy_login("proxylogin")
solver.set_proxy_password("proxypassword")
# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)
token = solver.solve_and_return_solution()
if token != 0:
print "token: "+token
else:
print "task finished with error "+solver.error_code
//npm install @antiadmin/anticaptchaofficial
//https://github.com/AdminAnticaptcha/anticaptcha-npm
const ac = require("@antiadmin/anticaptchaofficial");
ac.setAPIKey('YOUR_API_KEY_HERE');
//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);
ac.solveTurnstileProxyOn('http://DOMAIN.COM',
'WEBSITE_KEY',
'http', //http, socks4, socks5
'PROXY_ADDRESS',
'PROXY_PORT',
'PROXY_LOGIN',
'PROXY_PASSWORD')
.then(token => {
console.log('token: '+token);
})
.catch(error => console.log('test received error '+error));
//git clone git@github.com:AdminAnticaptcha/anticaptcha-csharp
using System;
using Anticaptcha_example.Api;
using Anticaptcha_example.Helper;
using Newtonsoft.Json.Linq;
namespace Anticaptcha_example
{
internal class Program
{
private static void Main() {
DebugHelper.VerboseMode = true;
var api = new Turnstile
{
ClientKey = "YOUR_API_KEY_HERE",
WebsiteUrl = new Uri("http://website.com"),
WebsiteKey = "sitekey",
ProxyAddress = "xxx.xx.xx.xx",
ProxyPort = 1234,
ProxyLogin = "login",
ProxyPassword = "password",
// Specify softId to earn 10% commission with your app.
// Get your softId here:
// https://anti-captcha.com/clients/tools/devcenter
SoftId = 0
};
if (!api.CreateTask())
DebugHelper.Out("API v2 send failed. " + api.ErrorMessage, DebugHelper.Type.Error);
else if (!api.WaitForResult())
DebugHelper.Out("Could not solve the captcha.", DebugHelper.Type.Error);
else
DebugHelper.Out("Result: " + api.GetTaskSolution().token, DebugHelper.Type.Success);
}
}
}
//git clone git@github.com:AdminAnticaptcha/anticaptcha-java.git
package com.anti_captcha;
import com.anti_captcha.Api.Turnstile;
import com.anti_captcha.Helper.DebugHelper;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) throws InterruptedException, MalformedURLException, JSONException {
DebugHelper.setVerboseMode(true);
Turnstile api = new Turnstile();
api.setClientKey("API_KEY_HERE");
api.setWebsiteUrl(new URL("http://website.com"));
api.setWebsiteKey("sitekey_here");
// proxy access parameters
// DO NOT USE PURCHASED/RENTED PROXIES WITH PROXY SERVICES!!!
// THEY WILL NOT WORK!
// USE ONLY PROXIES YOU INSTALL YOURSELF ON YOUR OWN SERVER OR FAST VPS
// USE PROPER PROXY SOFTWARE LIKE SQUID !
// INSTALLATION INSTRUCTIONS:
// https://anti-captcha.com/apidoc/articles/how-to-install-squid
api.setProxyType(NoCaptcha.ProxyTypeOption.HTTP);
api.setProxyAddress("xx.xxx.xx.xx");
api.setProxyPort(8282);
api.setProxyLogin("login");
api.setProxyPassword("password");
//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
api.setSoftId(0);
if (!api.createTask()) {
DebugHelper.out(
"API v2 send failed. " + api.getErrorMessage(),
DebugHelper.Type.ERROR
);
} else if (!api.waitForResult()) {
DebugHelper.out("Could not solve the captcha.", DebugHelper.Type.ERROR);
} else {
DebugHelper.out("Result: " + api.getTaskSolution().getToken(), DebugHelper.Type.SUCCESS);
}
}
}
Exemple de réponse
{
"errorId": 0,
"taskId": 7654321
}
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
Récupérer la solution
Objet de solution de tâche
Propriété | Type | Objectif |
---|---|---|
token | String | Chaîne de jeton requise pour interagir avec le formulaire de soumission sur le site Web cible. |
userAgent | String | User-Agent du navigateur du travailleur. Utilisez-le lorsque vous soumettez le jeton de réponse. |
Exemple de réponse
{
"errorId":0,
"status":"ready",
"solution":
{
"token":"0.vtJqmZnvobaUzK2i2PyKaSqHELYtBZfRoPwMvLMdA81WL_9G0vCO3y2VQVIeVplG0mxYF7uX.......",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}