Menu

Rozwiąż captcha GeeTest z proxy

Ten typ zadania rozwiązuje captcha GeeTest w przeglądarkach naszych pracowników. Twoja aplikacja podaje adres strony, klucz gt, klucz challenge i po wykonaniu zadania otrzymuje rozwiązanie składające się z 3 tokenów. Dla GeeTest w wersji 4 wyjście składa się z 5 wartości, a klucz challenge nie jest wymagany.

GeeTest captcha example
GeeTest captcha example
GeeTest captcha example

Geetest Checkbox example
GeeTest captcha example
GeeTest captcha example
GeeTest captcha example
GeeTest captcha example
Przykłady

Obiekt typu zadanie

Właściwość/atrybutTypWymaganyPrzeznaczenie
typeŁańcuch znaków (String)TakGeeTestTask
websiteURLŁańcuch znaków (String)TakAdres 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.
gtŁańcuch znaków (String)TakKlucz publiczny domeny, rzadko aktualizowany.
challengeŁańcuch znaków (String)TakZmieniający się klucz token. Należy pobierać nowy dla każdej captcha, inaczej twoje konto zostanie obciążone za błędne zadanie.
geetestApiServerSubdomainŁańcuch znaków (String)NieOpcjonalna subdomena API. Może być wymagana w niektórych implementacjach.
GeeTest V3 example
versionIntegerNieNumer wersji. Domyślna wersja to 3. Obsługiwane wersje: 3 i 4.
initParametersObiekt (object)NieDodatkowe parametry inicjalizacji dla wersji 4
proxyTypeŁańcuch znaków (String)TakTyp proxy
http - typowe proxy http/https
socks4 - proxy socks4
socks5 - proxy socks5
proxyAddressŁańcuch znaków (String)TakAdres IPv4/IPv6 proxy. Nie stosować nazw hostów ani adresów IP z sieci lokalnych.
proxyPortIntegerTakPort proxy
proxyLoginŁańcuch znaków (String)TakLogin dla proxy wymagających uwierzytelniania (podstawowe)
proxyPasswordŁańcuch znaków (String)TakHasło proxy
userAgentŁańcuch znaków (String)TakPodaj user-agent z którego korzystasz do nawigacji w witrynie. Nasi pracownicy użyją tej samej wartości podczas procesu rozwiązywania Hcaptcha.

Przykład żądania (V3)

Python
Javascript
Go
PHP
Java
C#
bash
#pip3 install anticaptchaofficial

from anticaptchaofficial.geetestproxyon import *

solver = geetestProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://address.com")
solver.set_gt_key("CONSTANT_GT_KEY")
solver.set_challenge_key("VARIABLE_CHALLENGE_KEY")

# optional API subdomain, make sure you understand what to set here
# solver.set_js_api_domain("custom-domain.geetest.com")

# getLib payload, see documentation for explanation of this
# solver.set_geetest_lib("{\"customlibs\":\"url-to-lib.js\"}")

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")

# 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)

token = solver.solve_and_return_solution()
if token != 0:
    print("result tokens: ")
    print(token)
else:
    print("task finished with error "+solver.error_code)

Przykład żądania (V4)

Python
Javascript
Go
PHP
Java
C#
bash
#pip3 install anticaptchaofficial

from anticaptchaofficial.geetestproxyon import *

solver = geetestProxyon()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://address.com")
solver.set_gt_key("captchaId value")
solver.set_version(4)

# optional API subdomain, make sure you understand what to set here
# solver.set_js_api_domain("custom-domain.geetest.com")

# optional initialization parameters
# solver.set_init_parameters({"riskType": "slide"})

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")

# 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)

token = solver.solve_and_return_solution()
if token != 0:
    print("result tokens: ")
    print(token)
else:
    print("task finished with error "+solver.error_code)

Obiekt typu rozwiązanie zadania (V3)

Właściwość/atrybutTypPrzeznaczenie
challengeŁańcuch znaków (String)Łańcuch znaków (hash string) wymagany do interakcji z formularzem wysyłalnym na docelowej stronie.
validateŁańcuch znaków (String)Również wymagany łańcuch znaków hash.
seccodeŁańcuch znaków (String)Kolejny wymagany łańcuch znaków hash, nie wiemy dlaczego potrzebne są aż 3.

Obiekt typu rozwiązanie zadania (V4)

Właściwość/atrybutTyp
captcha_idŁańcuch znaków (String)
lot_numberŁańcuch znaków (String)
pass_tokenŁańcuch znaków (String)
gen_timeInteger
captcha_outputŁańcuch znaków (String)

Przykład odpowiedzi (v3)

{
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "challenge":"3c1c5153aa48011e92883aed820069f3hj",
        "validate":"47ad5a0a6eb98a95b2bcd9e9eecc8272",
        "seccode":"83fa4f2d23005fc91c3a015a1613f803|jordan"
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}

Przykład odpowiedzi (v4)

{
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "captcha_id": "fcd636b4514bf7ac4143922550b3008b",
        "lot_number": "354ab6dd4e594fdc903074c4d8d37b24",
        "pass_token": "b645946a654e60218c7922b74b3b5ee8e8717e8fd3cd5182a5c98d660bbd1ed5",
        "gen_time": "1649921519",
        "captcha_output": "cFPIALDXSop8Ri2mPABbRWzNBs86N8D4vNUTuVa7wN7E...[cut]...ciM50ePCCzLBZ1bmaV9Yt7IkkFI9Emx4eaP8rRoA=="
    },
    "cost":"0.001500",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}