RecaptchaV2EnterpriseTaskProxyless: contourner Google Recaptcha V2 Enterprise sans proxy
Ce type de tâche sert à résoudre Google Recaptcha Enterprise V2 à partir de l'adresse IP du travailleur.
C'est surtout similaire à RecaptchaV2TaskProxyless, sauf que les tâches sont résolues en utilisant l'Enterprise API et attribué aux travailleurs avec le meilleur score Recaptcha V3. Pour plus d'informations sur Recaptcha Enterprise, veuillez visiter cette section FAQ.


Exemple Recaptcha V2 Entreprise. Visuellement identique à la version non entreprise.
Objet de tâche
Propriété | Type | Obligatoire | Objectif |
---|---|---|---|
type | String | Yes | RecaptchaV2EnterpriseTaskProxyless |
websiteURL | String | Yes | Adresse d'une page Web cible. Peut être situé n'importe où sur le site Web, même dans une zone membre. Nos ouvriers n'y naviguent pas, mais simulent plutôt la visite. |
websiteKey | String | Yes | Clé de site Web Recaptcha. Apprenez à le trouver dans cet article. |
enterprisePayload | Object | Non | Paramètres supplémentaires qui doivent être passés à la méthode "grecaptcha.enterprise.render" avec la clé de site. Exemple de ce que vous devez rechercher:
JSON sans erreurs |
apiDomain | String | Non | Utilisez ce paramètre pour envoyer le nom de domaine à partir duquel le script Recaptcha doit être servi. Il ne peut avoir qu'une seule des deux valeurs suivantes : "www.google.com" ou "www.recaptcha.net". N'utilisez pas ce paramètre si vous ne comprenez pas ce que vous faites. |
Exemple de demande
CURL
curl -i -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST -d '{
"clientKey":"YOUR_API_KEY_HERE",
"task":
{
"type":"RecaptchaV2EnterpriseTaskProxyless",
"websiteURL":"http://mywebsite.com/recaptcha/test.php",
"websiteKey":"6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN"
}
},
"softId": 0
}' https://api.anti-captcha.com/createTask
PHP
<?php
//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git
include("anticaptcha.php");
include("recaptchaV2Enterpriseproxyless.php");
$api = new RecaptchaV2EnterpriseProxyless();
$api->setVerboseMode(true);
//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");
//target website address
$api->setWebsiteURL("http://enteprisedomain.com/recaptcha/test.php");
//recaptcha key from target website
$api->setWebsiteKey("ENTERPRISE_SITEKEY_HERE");
//optional custom payload for grecaptcha.enterprise.render
$api->setEnterprisePayload(["s" => "TEMPORARY_TOKEN_VALUE"]);
//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 "\your recaptcha token: $gResponse\n\n";
}
Python
#pip3 install anticaptchaofficial
from anticaptchaofficial.recaptchav2enterpriseproxyless import *
solver = recaptchaV2EnterpriseProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("YOUR_API_KEY_HERE")
# solver.set_enterprise_payload({"s": "sometoken"})
# 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.solveRecaptchaV2EnterpriseProxyless(
'http://DOMAIN.COM',
'WEBSITE_KEY',
{
"s" : "SOME_TOKEN",
"any_custom_parameter" : "string_number_or_boolean"
})
.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 RecaptchaV2EnterpriseProxyless
{
ClientKey = "YOUR_API_KEY_HERE",
WebsiteUrl = new Uri("http://makeawebsitehub.com/recaptcha/test.php"),
WebsiteKey = "6LfI9IsUAAAAAKuvopU0hfY8pWADfR_mogXokIIZ",
// Specify softId to earn 10% commission with your app.
// Get your softId here:
// https://anti-captcha.com/clients/tools/devcenter
SoftId = 0
};
api.EnterprisePayload.Add("s", "SOME_UNDOCUMENTED_TOKEN");
api.EnterprisePayload.Add("blabla", "ANOTHER TOKEN");
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
package com.anti_captcha;
import com.anti_captcha.Api.RecaptchaV2EnterpriseProxyless;
import com.anti_captcha.Helper.DebugHelper;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) throws InterruptedException, MalformedURLException, JSONException {
DebugHelper.setVerboseMode(true);
RecaptchaV2EnterpriseProxyless api = new RecaptchaV2EnterpriseProxyless();
api.setClientKey("YOUR_API_KEY_HERE");
api.setWebsiteUrl(new URL("http://http.myjino.ru/recaptcha/test-get.php"));
api.setWebsiteKey("6Lc_aCMTAAAAABx7u2W0WPXnVbI_v6ZdbM6rYf16");
//optional payload, please look for RecaptchaV2Enterprise documentation regarding it
JSONObject enterprisePayload = new JSONObject();
try {
enterprisePayload.put("s", "SOME_UNDOCUMENTED_TOKEN_VALUE");
} catch (Exception e) {
DebugHelper.out("JSON error: "+e.getMessage(), DebugHelper.Type.ERROR);
return;
}
api.setEnterprisePayload(enterprisePayload);
//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);
}
}
}
Exemple de réponse
JSON sans erreurs
{
"errorId": 0,
"taskId": 7654321
}
JSON avec une erreur
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
Récupérer la solution
Utilisez la méthode getTaskResult demander la solution. Donnez du temps à un travailleur, par exemple 5 secondes, avant de faire la première demande. Si le travailleur est toujours occupé, réessayez dans 3 secondes.
Objet de solution de tâche
Propriété | Type | Objectif |
---|---|---|
gRecaptchaResponse | String | Chaîne de jeton requise pour interagir avec le formulaire de soumission sur le site Web cible. |
Exemple de réponse
JSON sans erreurs
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}