หน้าแรก เอกสาร บทช่วยสอน ลงชื่อเข้าใช้
ประเภทงานที่รองรับ
เมธอด API
บทความ
บทช่วยสอน
GitHub
เมนูเอกสาร

RecaptchaV3TaskProxyless: แก้ Google Recaptcha v3

อ็อบเจกต์งานประเภทนี้จำเป็นในการแก้ Google Recaptcha V3 บนคอมพิวเตอร์ของคนงาน งานนี้จะดำเนินการโดยบริการของเราโดยใช้พร็อกซี่เซิร์ฟเวอร์ของเราเองและ/หรือที่อยู่ IP ของคนงาน

โปรดทราบว่า Recaptcha V2-invisible และ Recaptcha V3 แตกต่างกัน แม้จะมีลักษณะเหมือนกันและอาจทำให้เกิดความสับสน วิธีที่รวดเร็วในการระบุประเภทอย่างถูกต้องคือ ลองแก้ V2-invisible และ V3 ด้วย API ของเรา โดยแบบหนึ่งคุณจะได้รับข้อผิดพลาดและอีกแบบไม่มีข้อผิดพลาด

เราทดสอบคนงานของเราเพื่อหาข้อสรุป "คะแนน" และแบ่งพวกเขาออกเป็น 3 กลุ่ม (คิว): 0.3, 0.7 และ 0.9 แต่ละกลุ่มอาจมีราคาที่แตกต่างกันเล็กน้อยเนื่องจากจำนวนคนงานที่ว่าง การส่งผ่านคุณสมบัติ minScore คุณจะกำหนดคิวที่งานของคุณจะเข้า คนงานที่มีอยู่ส่วนใหญ่ของเรามีคะแนน 0.3 และคนงานจำนวนน้อยมีคะแนน 0.9

ข้อมูลเพิ่มเติมเกี่ยวกับ Recaptcha V3 โปรดดูในส่วนคำถามที่พบบ่อยนี้

ตัวอย่างของ Recaptcha v3 โดยปกติจะมีตราโลโก้อยู่ที่มุมขวาล่างของหน้า สามารถลบออกได้อย่างง่ายดายด้วย Javascript

อ็อบเจ็กต์งาน

คุณสมบัติ ประเภท จำเป็น วัตถุประสงค์
type สตริง ใช่ RecaptchaV3TaskProxyless
websiteURL สตริง ใช่ ที่อยู่ของหน้าเว็บเป้าหมายสามารถอยู่ที่ใดก็ได้ในเว็บไซต์ แม้ในพื้นที่สมาชิก คนงานของเราไม่ได้ไปยังที่นั่น แต่จะจำลองการเข้าชมแทน
websiteKey สตริง ใช่ รหัสเว็บไซต์ Recaptcha เรียนรู้วิธีค้นหาในบทความนี้
minScore จำนวนจริง ใช่ กรองคนงานด้วยคะแนนที่ต้องการ สามารถตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้
0.3
0.7
0.9
pageAction สตริง ไม่
ค่า "action" ของ Recaptcha เจ้าของเว็บไซต์กำหนดสิ่งที่ผู้ใช้กำลังทำบนเพจผ่านพารามิเตอร์นี้
ตัวอย่าง:

grecaptcha.execute('site_key', {action:'login_test'})
isEnterprise บูลีน ไม่ ตั้งค่าสถานะตัวบ่งชี้นี้เป็น "true" หากคุณต้องการให้ V3 นี้แก้ด้วย Enterprise API ค่าเริ่มต้นคือ "false" และ Recaptcha ได้รับการแก้ด้วย non-enterprise API สามารถกำหนดได้โดยการเรียกใช้จาวาสคริปต์เช่นในตัวอย่างต่อไปนี้

grecaptcha.enterprise.execute('site_key', {..})
apiDomain สตริง ไม่ ใช้พารามิเตอร์นี้เพื่อส่งชื่อโดเมนที่ควรใช้สคริปต์ Recaptcha สามารถมีค่าได้เพียงหนึ่งในสองค่า: "www.google.com" หรือ "www.recaptcha.net" อย่าใช้พารามิเตอร์นี้เว้นแต่คุณจะเข้าใจว่าคุณกำลังทำอะไรอยู่

ตัวอย่างคำขอ

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

ตัวอย่างการตอบกลับ

JSON ที่ไม่มีข้อผิดพลาด
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON ที่มีข้อผิดพลาด
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

เรียกดูโซลูชัน

ใช้เมธอด getTaskResult เพื่อขอโซลูชัน โดยให้เวลาคนงานสัก 5 วินาทีก่อนส่งคำขอครั้งแรก หากคนงานยังไม่ว่าง ให้ลองอีกครั้งใน 3 วินาที

อ็อบเจ็กต์โซลูชันงาน

คุณสมบัติ ประเภท วัตถุประสงค์
gRecaptchaResponse สตริง สตริงโทเค็นที่จำเป็นสำหรับการโต้ตอบกับการส่งแบบฟอร์มบนเว็บไซต์เป้าหมาย

ตัวอย่างการตอบกลับ

JSON ที่ไม่มีข้อผิดพลาด
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}