RecaptchaV3TaskProxyless: maglutas ng Google Recaptcha v3
Ang ganitong uri ng bagay ng gawain ay kinakailangan para malutas ang Google Recaptcha V3 sa computer ng manggagawa. Ang gawaing ito ay lulutasin ng aming serbisyo sa pamamagitan ng sarili naming mga proxy server at/o mga IP address ng mga manggagawa.
Mangyaring tandaan na may pagkakaiba sa pagitan ng Recaptcha V2-invisible at Recaptcha V3. Pareho ang hitsura nila at maaaring ito ay nakakalito. May mabilis na paraan para malaman ang tamang uri: subukang lutasin ito gamit ang aming API bilang V2-invisible at V3. Ang isa sa aming mga pagtatangka makakakuha ka ng error, at sa isa hindi.
Sinusubukan namin ang aming mga manggagawa para sa kanilang "score" sa recaptcha at ilalagay ang mga ito sa 3 grupo (mga pila): 0.3, 0.7 at 0.9. At bawat isa ay maaaring mayroong maliit na pagkakaiba sa presyo dahil sa bilang ng mga nakatenggang manggagawa. Sa pamamagitan ng pagdaan ng katangian na minScore tinutukoy mo ang pila na kung saan ang gawain mo ay papasok. Kalimitan sa aming abeylabol na mga manggagawa ay mayroong iskor na 0.3, at ang pinakamababang halaga ay 0.9.

Bagay ng gawain
Katangian | Uri | Kinakailangan | Layunin |
---|---|---|---|
type | String | Oo | RecaptchaV3TaskProxyless |
websiteURL | String | Oo | Adres ng puntiryang web page. Maaaring mahanap saan man sa web site, kahit sa lugar ng miyembro. Ang aming mga manggagawa ay hindi maaaring pumunta doon, ngunit sa halip isi-simulate ang pagbisita. |
websiteKey | String | Oo | Website key ng Recaptcha. Matuto kung paano ito hanapin dito sa artikulo. |
minScore | Doble | Oo | Sinasala ang manggagawa ng may kinakailangang iskor. Ang halaga ay maaaring isa sa mga sumusunod: 0.3 0.7 0.9 |
pageAction | String | Hindi | Ang halaga ng "action" ng Recaptcha. Ang may-ari ng website ay tinutukoy kung ano ang ginagawa ng gumagamit sa pahina sa pamamagitan ng parametrong ito. Halimbawa: grecaptcha.execute('site_key', {action:'login_test'}) |
isEnterprise | Boolean | Hindi | I-set itong flag sa "true" kapag kailangan mong malutas itong V3 sa pamamagitan ng Enterprise API. Default na halaga ay "false" at ang Recaptcha ay nilulutas sa pamamagitan ng non-enterprise API. Maaaring matukoy ng isang javascript na pagtawag kagaya ng sumusunod na halimbawa:
grecaptcha.enterprise.execute('site_key', {..}) |
apiDomain | String | Hindi | Gamitin ang parameter na ito para ipadala ang domain name kung saan dapat ihatid ang Recaptcha script. Maaari lamang magkaroon ng isa sa dalawang value: "www.google.com" o "www.recaptcha.net". Huwag gamitin ang parameter na ito maliban kung naiintindihan mo kung ano ang iyong ginagawa. |
Halimbawa ng kahilingan
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);
}
Halimbawa ng tugon
{
"errorId": 0,
"taskId": 7654321
}
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
Kunin ang solusyon
Bagay ng solusyon ng gawain
Katangian | Uri | Layunin |
---|---|---|
gRecaptchaResponse | String | Ang string ng token na kinakailangan para sa pakikipag-ugnayan sa form sa pagsumite ng puntiryang website. |
Halimbawa ng tugon
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}