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.

Obiekt zadanie
Właściwość/atrybut | Typ | Wymagany | Przeznaczenie | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | Łańcuch znaków (String) | Tak | HCaptchaTaskProxyless | ||||||||||||||||||||||||
websiteURL | Łańcuch znaków (String) | Tak | Adres 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) | Tak | klucz strony hCaptcha | ||||||||||||||||||||||||
Zdeprecjonowane. Zamiast tego użyj User-Agent z naszych pracowników, który jest zwracany przez metodę "getTaskResult". | |||||||||||||||||||||||||||
isInvisible | Logiczny (Boolean) | Nie | Określa, czy Hcaptcha ma być niewidoczna, czy nie. Spowoduje to wyświetlenie odpowiedniego widgetu dla naszych pracowników. | ||||||||||||||||||||||||
enterprisePayload | Obiekt (object) | Nie | Dodatkowe parametry, których będziemy używać do renderowania widżetu Hcaptcha dla wersji Enterprise.
|
Przykład żądania
#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)
# 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ść/atrybut | Typ | Przeznaczenie |
---|---|---|
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"
}