Giải quyết hình ảnh xác thực của Turnstile mà không cần proxy - TurnstileTaskProxyless
Hình ảnh xác thực chuyển đổi là một nỗ lực khác để thay thế Recaptcha. Chúng tôi hỗ trợ tất cả các kiểu phụ của nó một cách tự động: thủ công, không tương tác và vô hình. Không cần chỉ định kiểu con. Ngoài ra, việc cung cấp Tác nhân người dùng tùy chỉnh của riêng bạn là không cần thiết và sẽ không hoạt động.
Kiểm tra loại tác vụ này trước để biết tỷ lệ bỏ qua trước khi kiểm tra tác vụ với proxy.

Ví dụ về Captcha
Đối tượng tác vụ
Thuộc tính | Loại | Bắt buộc | Mục đích |
---|---|---|---|
type | Chuỗi | Có | TurnstileTaskProxyless |
websiteURL | Chuỗi | Có | Địa chỉ trang web mục tiêu. Có thể ở bất kỳ đâu trên trang web, ngay cả trong khu vực thành viên. Nhân viên chúng tôi không điều hướng đến khu vực đó mà chỉ giả lập việc truy cập. |
websiteKey | Chuỗi | Có | Khóa trang web xoay |
Ví dụ về yêu cầu
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"
},
"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");
//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")
# 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')
.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",
// 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");
//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);
}
}
}
Ví dụ về phản hồi
JSON không lỗi
{
"errorId": 0,
"taskId": 7654321
}
JSON có lỗi
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
Truy xuất lời giải
Sử dụng phương thức getTaskResult để yêu cầu giải. Cho nhân viên một khoảng thời gian, chẳng hạn như 5 giây, trước khi tạo yêu cầu đầu tiên. Nếu nhân viên vẫn bận, hãy thử lại sau 3 giây.
Đối tượng giải của tác vụ
Thuộc tính | Loại | Mục đích |
---|---|---|
token | Chuỗi | Chuỗi mã thông báo bắt buộc để tương tác với biểu mẫu gửi trên trang web mục tiêu. |
userAgent | Chuỗi | Tác nhân người dùng của trình duyệt của nhân viên. Sử dụng nó khi bạn gửi mã thông báo phản hồi. |
Ví dụ về phản hồi
JSON không lỗi
{
"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"
}