Trang chủ Tài liệu Hướng dẫn Đăng nhập
Loại tác vụ được hỗ trợ
Phương thức API
Bài viết
Hướng dẫn
GitHub
Menu tài liệu

RecaptchaV3TaskProxyless: giải Google Recaptcha v3

Loại đối tượng tác vụ này là bắt buộc đối với việc giải Google Recaptcha V3 trên máy tính của nhân viên. Tác vụ này sẽ được dịch vụ chúng tôi thực thi bằng máy chủ proxy của riêng chúng tôi và/hoặc địa chỉ IP của nhân viên.

Xin lưu ý rằng có sự khác biệt giữa Recaptcha V2-ẩn và Recaptcha V3. Hai loại này nhìn giống nhau và dễ gây nhầm lẫn. Có một cách nhanh chóng để xác định loại chính xác: thử giải bằng API của chúng tôi dưới dạng V2-ẩn và V3. Bạn sẽ gặp lỗi trong một lần thử và không gặp trong lần thử còn lại.

Chúng tôi kiểm tra nhân viên để chấm "điểm" recaptcha cho họ và xếp vào 3 nhóm (hàng đợi): 0,3, 0,70,9. Mỗi nhóm có thể hơi chênh nhau về giá do số lượng nhân viên nhàn rỗi khác nhau. Bằng cách chuyển thuộc tínhminScore, bạn xác định hàng đợi mà tác vụ sẽ vào. Hầu hết nhân viên sẵn sàng nhận tác vụ đạt điểm 0,3, và điểm 0,9 có lượng nhân viên thấp nhất.

Bạn có thể tìm thêm thông tin về Recaptcha V3 trong phần Câu hỏi thường gặp này.

Ví dụ về Recaptcha v3. Thường có một huy hiệu logo nằm ở góc dưới bên phải của trang. Tuy nhiên, có thể dễ dàng gỡ bỏ huy hiệu đó bằng Javascript.

Đối tượng tác vụ

Thuộc tính Loại Bắt buộc Mục đích
type Chuỗi RecaptchaV3TaskProxyless
websiteURL Chuỗi Đị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 Khóa trang web Recaptcha. Tìm hiểu cách tìm khóa trong bài viết này.
minScore Double Lọc một nhân viên có số điểm yêu cầu. Giá trị có thể nằm trong số:
0,3
0,7
0,9
pageAction Chuỗi Không
Giá trị "hành động" của Recaptcha. Chủ sở hữu trang web xác định những thao tác người dùng đang thực hiện trên trang thông qua tham số này.
Ví dụ:

grecaptcha.execute('site_key', {action:'login_test'})
isEnterprise Boolean Không Đặt cờ này thành "true" nếu bạn cần giải V3 này với Enterprise API. Giá trị mặc định là "false" và Recaptcha được giải bằng API phi doanh nghiệp. Có thể xác định bằng một lệnh gọi javascript như trong ví dụ sau:

grecaptcha.enterprise.execute('site_key', {..})
apiDomain Chuỗi Không Sử dụng tham số này để gửi tên miền mà từ đó tập lệnh Recaptcha sẽ được phân phát. Chỉ có thể có một trong hai giá trị: "www.google.com" hoặc "www.recaptcha.net". Không sử dụng tham số này trừ khi bạn hiểu mình đang làm gì.

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":"RecaptchaV3TaskProxyless",
            "websiteURL":"http://mywebsite.com/recaptcha/test.php",
            "websiteKey":"6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
            "minScore": 0.3,
            "pageAction": "myverify",
            "isEnterprise": false
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

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

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

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

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

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

//recaptcha key from target website
$api->setWebsiteKey("6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ");

//parameters for V3
//score you would like to have
$api->setMinScore(0.9);
//optional page action
$api->setPageAction("some_action");

//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 {

    $gResponse    =   $api->getTaskSolution();
    echo "\n";
    echo "your recaptcha token: $gResponse\n\n";

    //check result, then:
    $api->reportCorrectRecaptcha();
    //or
    //$api->reportIncorrectRecaptcha();

}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.recaptchav3proxyless import *

solver = recaptchaV3Proxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")
solver.set_page_action("home_page")
solver.set_min_score(0.9)

# 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)

g_response = solver.solve_and_return_solution()
if g_response != 0:
    print "g-response: "+g_response
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.solveRecaptchaV3('http://DOMAIN.COM',
    'WEBSITE_KEY',
    0.3, //minimum score required: 0.3, 0.7 or 0.9
    'PAGE_ACTION_CAN_BE_EMPTY')
    .then(gresponse => {
        console.log('g-response: '+gresponse);
    })
    .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 RecaptchaV3Proxyless
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://makeawebsitehub.com/recaptcha/test.php"),
                WebsiteKey = "6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ",
                PageAction = "login_or_register",
                IsEnterprise = false,

                // Specify softId to earn 10% commission with your app.
                // Get your softId here:
                // https://anti-captcha.com/clients/tools/devcenter
                SoftId = 0
            };
            api.MinScore(0.3)

            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().GRecaptchaResponse, DebugHelper.Type.Success);

        }
    }
}

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

DebugHelper.setVerboseMode(true);

RecaptchaV3Proxyless api = new RecaptchaV3Proxyless();
api.setClientKey("YOUR_API_KEY_HERE");
api.setWebsiteUrl(new URL("http://getcaptchajob.com/"));
api.setWebsiteKey("6LfE4ZIUAAAAAGSYvvoszRvEC9IgFVyXwGkypn-W");
api.setPageAction("testPageAction");
api.setMinScore(0.9);

//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().getGRecaptchaResponse(), 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
gRecaptchaResponse 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.

Ví dụ về phản hồi

JSON không lỗi
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}