Menu

HCaptchaTaskProxyless: résoudre HCaptcha sans proxy

Les développeurs de hCaptcha appellent leur captcha "une solution de remplacement pour Recaptcha". Nous avons essayé de créer la même chose dans notre API, donc les propriétés de la tâche sont absolument les mêmes que dans RecaptchaV2TaskProxyless sauf la propriété "type".

Remarque importante concernant la valeur de l'agent utilisateur. Auparavant, il était possible de spécifier votre propre User-Agent pour les tâches, mais cela a changé. Au lieu de cela, nous fournissons l'agent utilisateur du travailleur que vous devez utiliser pour contourner la version payante de Hcaptcha. Cela a été modifié parce qu'aujourd'hui il est presque impossible d'émuler un user-agent étranger dans une autre plateforme, par exemple l'user-agent de Chrome dans Firefox. Les navigateurs ont un grand nombre d'artefacts secondaires en plus de navigator.userAgent, qui appartiennent spécifiquement à l'une ou l'autre plateforme.

Exemple de Captcha

Objet de tâche

PropriétéTypeObligatoireObjectif
typeStringYesHCaptchaTaskProxyless
websiteURLStringYesAdresse 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.
websiteKeyStringYesclé de site hCaptcha
userAgentStringYesIndiquez l'agent utilisateur que vous utilisez pour naviguer sur le site Web. Nos travailleurs utiliseront la même valeur pendant le processus de résolution du Hcaptcha.
Déclassé. A la place, utilisez l'User-Agent de nos travailleurs qui est retourné par la méthode "getTaskResult".
isInvisibleBooleanNonIndiquez si le Hcaptcha est invisible ou non. Cela rendra un widget approprié pour nos travailleurs.
isEnterpriseBooleanNonUtilisez ce paramètre si vous souhaitez que votre Hcaptcha soit résolu par les travailleurs ayant le score Hcaptcha le plus élevé. Notez que cela triple le coût de la résolution.
enterprisePayloadObjectNonParamètres supplémentaires que nous utiliserons pour rendre le widget Hcaptcha pour la version Enterprise.

PropriétéTypeObligatoire
rqdataStringNon
sentryBooleanNon
apiEndpointStringNon
endpointStringNon
reportapiStringNon
assethostStringNon
imghostStringNon

Exemple de demande

Python
Javascript
PHP
Java
C#
bash
#pip3 install anticaptchaofficial

from anticaptchaofficial.hcaptchaproxyless import *

solver = hCaptchaProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")

# tell API that Hcaptcha is invisible
#solver.set_is_invisible(1)

# tell API that Hcaptcha is Enterprise
#solver.set_is_enterprise(1)

# set here parameters like rqdata, sentry, apiEndpoint, endpoint, reportapi, assethost, imghost
#solver.set_enterprise_payload({
#    "rqdata": "rq data value from target website",
#    "sentry": True
#})

# 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

Objet de solution de tâche

PropriétéTypeObjectif
gRecaptchaResponseStringChaîne de jeton requise pour interagir avec le formulaire de soumission sur le site Web cible.
respKeyStringSortie de la fonction "window.hcaptcha.getRespKey()" lorsqu'elle est disponible. Certains sites web l'utilisent pour une vérification supplémentaire.
userAgentStringUser-Agent du navigateur du travailleur. Utilisez-le lorsque vous soumettez le jeton de réponse.

Exemple de réponse

{
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3......",
        "respKey":"E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoiQk5vb1JuZ0FPSHBCM2EyWURSSC......",
        "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}