RecaptchaV3TaskProxyless: Google reCAPTCHA v3 को हल करें
इस तरह के टास्क ऑब्जेक्ट के तहत Google reCAPTCHA v3 को किसी कर्मचारी के कंप्यूटर पर हल किया जाता है। इस टास्क को हमारे अपने प्रॉक्सी सर्वरों और/या कर्मचारियों के IP पतों के माध्यम से हमारी सर्विस द्वारा पूरा किया जाता है।
गौरतलब है कि reCAPTCHA v2-invisible और reCAPTCHA v3 में एक फ़र्क होता है। देखने में एक जैसे होने के चलते वे आपको कंफ्यूज़ कर सकते हैं। लेकिन अपने लिए सही टाइप का आसानी से पता लगाने का एक तरीका होता है: उसे हमारे API के माध्यम से v2-invisible और v3 के तौर पर हल करने की कोशिश करें। अपने किसी ना किसी प्रयास में आपको एक एरर मैसेज दिखाई दे जाएगा, जबकि दूसरे प्रयास में वह नहीं दिखेगा।
हम अपने कर्मचारियों को उनके रीकैप्चा "स्कोर" के लिए टेस्ट करके उन्हें 3 समूहों (कतारों) में बाँट देते हैं: 0.3, 0.7 और 0.9। खाली बैठे कर्मचारियों की संख्या के आधार पर हरेक समूह का शुल्क अलग-अलग हो सकता है। minScore प्रॉपर्टी से गुज़रकर आप यह परिभाषित करते हैं कि आपकी टास्क किस कतार में जाएगी। हमारे अधिकांश उपलब्ध कर्मचारियों का 0.3 का स्कोर व कम से कम 0.9 की रकम होती है।

टास्क ऑब्जेक्ट
प्रॉपर्टी | टाइप | आवश्यक | लक्ष्य |
---|---|---|---|
type | स्ट्रिंग | हाँ | RecaptchaV3TaskProxyless |
websiteURL | स्ट्रिंग | हाँ | किसी लक्षित वेब पेज का पता। यह वेबसाइट में कहीं भी पाया जा सकता है, किसी सदस्य वाले एरिया में भी। हमारे कर्मचारी वहां जाते तो नहीं, पर अपने जाने की सिमुलेशन ज़रूर कर देते हैं। |
websiteKey | स्ट्रिंग | हाँ | रीकैप्चा वेबसाइट वाली कुंजी। इस लेख में जानें कि उसे कैसे ढूँढा जाता है। |
minScore | डबल | हाँ | यह किसी कर्मचारी को एक आवश्यक स्कोर के आधार पर फ़िल्टर कर देता है। यह वैल्यू इनमें से कोई एक हो सकती है: 0.3 0.7 0.9 |
pageAction | स्ट्रिंग | नहीं | रीकैप्चा की "एक्शन" वैल्यू। वेबसाइट का मालिक इस मानदंड के माध्यम से पेज पर उपयोगकर्ता की गतिविधि को परिभाषित करता है। उदाहरण के तौर पर: grecaptcha.execute('site_key', {action:'login_test'}) |
isEnterprise | Boolean | नहीं | अगर आप इस v3 को एंटरप्राइज़ API के माध्यम से हल करना चाहते हैं तो इस फ्लैग को "true" पर सेट कर दें। डिफ़ॉल्ट वैल्यू "false" होती है व रीकैप्चा को नॉन-एंटरप्राइज़ API के माध्यम से हल किया जाता है। इस उदाहरण की ही तरह इसका पता भी किसी JavaScript कॉल से लगाया जा सकता है:
grecaptcha.enterprise.execute('site_key', {..}) |
apiDomain | स्ट्रिंग | नहीं | इस पैरामीटर का उपयोग उस डोमेन नाम को भेजने के लिए करें जिससे रिकैप्चा स्क्रिप्ट प्रस्तुत की जानी चाहिए। दो में से केवल एक मान हो सकता है: "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"
}