Rozwiązywanie HCaptcha z proxy
Deweloperzy Hcaptcha nazywają swoją captchę "bezpośrednim, gotowym do użycia zamiennikiem Recaptcha". Naszym zamiarem było odtworzenie tej cechy w naszym API, więc właściwości/atrybuty zadania są takie same jak w RecaptchaV2Task z wyjątkiem 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óry należy użyć w celu ominięcia płatnej wersji Hcaptcha. Zostało to zmienione, ponieważ obecnie emulowanie obcego user-agenta w innej platformie jest prawie niemożliwe - na przykład user-agent Chrome w Firefoxie. Przeglądarki mają dużą liczbę drugorzędnych artefaktów oprócz navigator.userAgent, które należą do specyfiki tej lub innej platformy.
Obiekt typu zadanie
Właściwość/atrybut | Typ | Wymagany | Przeznaczenie | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | Łańcuch znaków (String) | Tak | HCaptchaTask | ||||||||||||||||||||||||
websiteURL | Łańcuch znaków (String) | Tak | Adres docelowej strony. Może znajdować się w dowolnym miejscu 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 | ||||||||||||||||||||||||
proxyType | Łańcuch znaków (String) | Tak | Typ proxy http - typowe proxy http/https socks4 - proxy socks4 socks5 - proxy socks5 | ||||||||||||||||||||||||
proxyAddress | Łańcuch znaków (String) | Tak | Adres IPv4/IPv6 proxy. Nie stosować nazw hostów ani adresów IP z sieci lokalnych. | ||||||||||||||||||||||||
proxyPort | Integer | Tak | Port proxy | ||||||||||||||||||||||||
proxyLogin | Łańcuch znaków (String) | Tak | Login dla proxy wymagających uwierzytelniania (podstawowe) | ||||||||||||||||||||||||
proxyPassword | Łańcuch znaków (String) | Tak | Hasło proxy | ||||||||||||||||||||||||
Przestarzałe. Zamiast tego należy korzystać z User-Agent od naszych pracowników, zwracanego przez metodę "getTaskResult". | |||||||||||||||||||||||||||
isInvisible | Logiczny (Boolean) | Nie | Określa, czy Hcaptcha jest niewidoczna, czy nie. Pozwoli to na wyświetlenie odpowiedniego widgetu dla naszych pracowników. | ||||||||||||||||||||||||
isEnterprise | Logiczny (Boolean) | Nie | Użyj tego parametru, jeśli chcesz, aby Hcaptcha była rozwiązywana przez pracowników z najlepszą punktacją Hcaptcha. Należy pamiętać, że potroi to koszt rozwiązania. | ||||||||||||||||||||||||
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.hcaptchaproxyon import *
solver = hCaptchaProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://hcaptcha.com/")
solver.set_website_key("00000000-0000-0000-0000-000000000000")
solver.set_proxy_address("PROXY_ADDRESS")
solver.set_proxy_port(1234)
solver.set_proxy_login("proxylogin")
solver.set_proxy_password("proxypassword")
solver.set_user_agent("Mozilla/5.0")
solver.set_cookies("test=true")
# 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)
print("user-agent, use it to post the form: ", solver.get_user_agent())
print("respkey, if any: ", solver.get_respkey())
else:
print("task finished with error "+solver.error_code)
Obiekt typu 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łalnym na docelowej stronie. |
respKey | Łańcuch znaków (String) | Wyjście funkcji "window.hcaptcha.getRespKey()", gdy dostępne. 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"
}