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 โปรดดูในส่วนคำถามที่พบบ่อยนี้

อ็อบเจ็กต์งาน
คุณสมบัติ | ประเภท | จำเป็น | วัตถุประสงค์ |
---|---|---|---|
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 -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
//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();
}
#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
//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));
//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);
}
}
}
//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);
}
ตัวอย่างการตอบกลับ
{
"errorId": 0,
"taskId": 7654321
}
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
เรียกดูโซลูชัน
อ็อบเจ็กต์โซลูชันงาน
คุณสมบัติ | ประเภท | วัตถุประสงค์ |
---|---|---|
gRecaptchaResponse | สตริง | สตริงโทเค็นที่จำเป็นสำหรับการโต้ตอบกับการส่งแบบฟอร์มบนเว็บไซต์เป้าหมาย |
ตัวอย่างการตอบกลับ
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}