RecaptchaV3TaskProxyless: Recaptcha v3 گوگل را حل کن
این نوع شیء وظیفه برای حل کردن Google Recaptcha V3 در کامپیوتر کارگر لازم است. این وظیفه توسط سرویس ما با استفاده از سرورهای پروکسی خودمان و/یا آدرسهای IP کارگران اجرا خواهد شد.
لطفاً توجه کنید که تفاوتی بین Recaptcha V2 نامرئی و Recaptcha V3 وجود دارد. ظاهر آنها شبیه به هم است و شاید گمراهکننده باشد. یک راه سریع برای تعیین نوع صحیح ریکپچا اینگونه است: سعی کنید آن را با API ما بهعنوان V2 نامرئی و V3 حل کنید. در یکی از تلاشها به یک خطا خواهید رسید و در تلاش دیگر به خطایی نمیرسید
ما کارگرانمان را از نظر "نمره" تست میکنیم و آنها را در سه گروه (صف) قرار میدهیم: 0.3،
0.7
و 0.9 هرکدام از آنها ممکن است به دلیل تعداد کارگران بیکار، قیمتگذاری متفاوتی داشته باشند. با انتقال خصوصیت minScore شما صفی که وظیفه وارد آن خواهد شد را تعیین میکنید. اکثر کارگران در دسترس نمره 0.3 دارند و کمترین تعداد از بین آنها نمره 0.9 دارند.

شیء وظیفه
خصوصیت | نوع | موردنیاز | هدف |
---|---|---|---|
type | رشته | بله | RecaptchaV3TaskProxyless |
websiteURL | رشته | بله | آدرس صفحه وب هدف. میتواند در هرجایی در وبسایت حتی بخش اعضا قرار گرفته باشد. کارگران ما به آنجا نمیروند بلکه در عوض بازدید را شبیهسازی میکنند. |
websiteKey | رشته | بله | کلید وبسایت ریکپچا. در این مقاله میآموزید که چطور آن را پیدا کنید. |
minScore | اعشاری(دابل) | بله | کارگر با نمره موردنیاز را فیلتر میکند. میتواند یکی از مقدارهای زیر را بگیرد: 0.3 0.7 0.9 |
pageAction | رشته | خیر | مقدار "action" ریکپچا. مالک وبسایت از طریق این پارامتر تعریف میکند که کاربر چهکاری در صفحه انجام میدهد. مثال:: grecaptcha.execute('site_key', {action:'login_test'}) |
isEnterprise | بولی | خیر | اگر نیاز دارید که این V3 با Enterprise API حل شود، این پرچم را برابر با "true" در نظر بگیرید. مقدار پیشفرض "false" است و ریکپچا با API غیر Enterprise حل میشود. میتوان آن را با یک فراخوان جاوا اسکریپت مثل آنچه در مثال زیر میبینید تعیین کرد:
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 https://git.anti-captcha.com/sup/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://git.anti-captcha.com/sup/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 https://git.anti-captcha.com/sup/anticaptcha-csharp.git
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 https://git.anti-captcha.com/sup/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"
}