Unterstützte Aufgabenarten
API-Methoden
Artikel
Tutorials
GitHub
Dokumentationsmenü

Turnstile Captcha ohne Proxy lösen - TurnstileTaskProxyless

Turnstile Captcha ist ein weiterer Versuch, Recaptcha zu ersetzen. Wir unterstützen alle seine Untertypen automatisch: manuell, nicht-interaktiv und unsichtbar. Sie müssen den Untertyp nicht angeben. Auch die Angabe eines eigenen User-Agents ist nicht notwendig und wird nicht funktionieren.

Testen Sie diesen Aufgabentyp zuerst auf Bypass-Rate, bevor Sie Aufgaben mit Vollmachten testen.

Captcha-Beispiel

Aufgabenobjekt

Wert Art Erforderlich Zweck
type String Ja TurnstileTaskProxyless
websiteURL String Ja Adresse einer Ziel-Webseite. Kann sich an beliebiger Stelle auf der Website befinden, auch in einem Mitgliederbereich. Unsere Arbeiter navigieren nicht dorthin, sondern simulieren den Besuch.
websiteKey String Ja Drehkreuz sitekey
action String Nein Optionaler Parameter "action".

Anfrage-Beispiel

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"TurnstileTaskProxyless",
            "websiteURL":"https://website.com/",
            "websiteKey":"0xAAAAAAAABBBBBBBCCCCCC",
            "action":"optional_page_action"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git

include("anticaptcha.php");
include("turnstileroxyless.php");

$api = new TurnstileProxyless();
$api->setVerboseMode(true);

//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");

//target website address
$api->setWebsiteURL("http://website.com/");

//turnstile key from target website
$api->setWebsiteKey("0xAAAAAAAABBBBBBBCCCCCC");

//optional action parameter, search it in page source code
$api->setAction("login_register_or_else");

//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";

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.turnstileproxyless import *

solver = turnstileProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")

# Optionally specify page action
solver.set_action("login")

# 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
        
NodeJS
          //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.solveTurnstileProxyless('http://DOMAIN.COM', 'WEBSITE_KEY', 'optional_action')
    .then(token => {
        console.log('token: '+token);
    })
    .catch(error => console.log('test received error '+error));
        
C#
          //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 TurnstileProxyless
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://website.com/"),
                WebsiteKey = "0xAAAAAAAABBBBBBBCCCCCC",
                // Optional page action
                Action = "optional_page_action",
                // 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);

        }
    }
}
        
Java
          //git clone git@github.com:AdminAnticaptcha/anticaptcha-java.git

package com.anti_captcha;

import com.anti_captcha.Api.TurnstileProxyless;
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);

        TurnstileProxyless api = new TurnstileProxyless();
        api.setClientKey("YOUR_API_KEY_HERE");
        api.setWebsiteUrl(new URL("http://website.com/"));
        api.setWebsiteKey("0xAAAAAAAABBBBBBBCCCCCC");

        //Optional page action
        api.setAction("optional_page_action");

        //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);
        }
    }
}

        

Antwort-Beispiel

JSON ohne Fehler
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON mit Fehler
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Lösung abrufen

Verwenden Sie die Methode getTaskResult, um die Lösung anzufordern. Geben Sie dem Arbeiter etwas Zeit, ca. 5 Sekunden, bevor Sie die Anfrage stellen. Falls der Arbeiter noch beschäftigt ist, warten Sie weitere 3 Sekunden.

Aufgabenlösungsobjekt

Wert Art Zweck
token String Token-String, der für die Interaktion mit dem Einreichungsformular auf der Ziel-Website erforderlich ist.
userAgent String User-Agent des Browsers des Arbeitnehmers. Verwenden Sie es, wenn Sie das Antwort-Token übermitteln.

Antwort-Beispiel

JSON ohne Fehler
          {
    "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"
}