Menu

HCaptchaTaskProxyless: rozwiązywanie HCaptcha bez proxy

Twórcy hCaptcha deklarują, że ich captcha jest "kompatybilnym zamiennikiem dla Recaptcha". Spróbowaliśmy stworzyć to samo w naszym API, więc atrybuty zadań są dokładnie takie same jak przy RecaptchaV2TaskProxyless oprócz atrybutu "type".

Ważna uwaga dotycząca wartości User-Agent. Poprzednio można było określić własny User-Agent dla zadań, ale to się zmieniło. Zamiast tego podajemy user-agent pracownika, którego należy użyć, aby ominąć płatną wersję Hcaptcha. Zostało to zmienione, ponieważ obecnie jest prawie niemożliwe emulowanie obcego user-agenta w innej platformie, na przykład user-agent Chrome w Firefoxie. Przeglądarki mają dużą liczbę drugorzędnych artefaktów oprócz navigator.userAgent, które należą specyficznie do tej lub innej platformy.

Przykład Captcha

Obiekt zadanie

Właściwość/atrybutTypWymaganyPrzeznaczenie
typeŁańcuch znaków (String)TakHCaptchaTaskProxyless
websiteURLŁańcuch znaków (String)TakAdres docelowej strony. Może wskazywać na dowolną lokalizację w ramach witryny, włącznie ze strefami dla zalogowanych. Nasi pracownicy nie muszą tam wchodzić, gdyż wizyta jest symulowana.
websiteKeyŁańcuch znaków (String)Takklucz strony hCaptcha
userAgentŁańcuch znaków (String)TakPodaj agenta użytkownika, którego używasz do nawigacji w witrynie. Nasi pracownicy użyją tej samej wartości podczas procesu rozwiązywania Hcaptcha.
Zdeprecjonowane. Zamiast tego użyj User-Agent z naszych pracowników, który jest zwracany przez metodę "getTaskResult".
isInvisibleLogiczny (Boolean)NieOkreśla, czy Hcaptcha ma być niewidoczna, czy nie. Spowoduje to wyświetlenie odpowiedniego widgetu dla naszych pracowników.
isEnterpriseLogiczny (Boolean)NieUżyj tego parametru, jeśli chcesz, aby Hcaptcha była rozwiązywana przez pracowników z najwyższym wynikiem Hcaptcha. Należy pamiętać, że potroi to koszt rozwiązania.
enterprisePayloadObiekt (object)NieDodatkowe parametry, których będziemy używać do renderowania widżetu Hcaptcha dla wersji Enterprise.

Właściwość/atrybutTypWymagany
rqdataŁańcuch znaków (String)Nie
sentryLogiczny (Boolean)Nie
apiEndpointŁańcuch znaków (String)Nie
endpointŁańcuch znaków (String)Nie
reportapiŁańcuch znaków (String)Nie
assethostŁańcuch znaków (String)Nie
imghostŁańcuch znaków (String)Nie

Przykład żądania

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

Obiekt rozwiązanie zadania

Właściwość/atrybutTypPrzeznaczenie
gRecaptchaResponseŁańcuch znaków (String)Łańcuch znaków token wymagany do interakcji z formularzem wysyłania na docelowej stronie.
respKeyŁańcuch znaków (String)Wyjście funkcji "window.hcaptcha.getRespKey()", gdy jest ona dostępna. Niektóre strony internetowe używają jej do dodatkowej weryfikacji.
userAgentŁańcuch znaków (String)User-Agent przeglądarki pracownika. Użyj go podczas przesyłania tokena odpowiedzi.

Przykład odpowiedzi

{
    "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"
}