Menu dokumentacja

GeeTestTask: rozwiązywanie captcha geetest.com z proxy

Ten typ zadania rozwiązuje captcha GeeTest w przeglądarkach naszych pracowników. Twoja aplikacja przesyła adres strony, klucz gt, klucz challenge i po ukończeniu zadania odbiera rozwiązanie składające się z 3 tokenów.

Przykłady

Obiekt zadanie

Właściwość/atrybut Typ Wymagany Przeznaczenie
type Łańcuch znaków (String) Tak GeeTestTask
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.
gt Łańcuch znaków (String) Tak Klucz publiczny domeny, rzadko aktualizowany.
challenge Łańcuch znaków (String) Tak Zmieniający się klucz token. Należy pobierać nowy dla każdego captcha, inaczej twoje konto zostanie obciążone za błędne zadanie.
geetestApiServerSubdomain Łańcuch znaków (String) Nie Opcjonalna subdomena API. Wymagana w niektórych implementacjach.
geetestGetLib Łańcuch znaków (String) Nie Wymagany w przypadku niektórych implementacji. Należy przesyłać JSON zakodowany jako łańcuch znaków. Wartość można śledzić w narzędziach deweloperskich w przeglądarce. Umieść breakpoint przed wywołaniem funkcji "initGeetest".
proxyType Łańcuch znaków (String) Tak Typ proxy
http - zwyczajne 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) Nie Login dla proxy wymagających uwierzytelniania (podstawowe)
proxyPassword Łańcuch znaków (String) Nie Hasło proxy
userAgent Łańcuch znaków (String) Tak Informacja User-Agent o przeglądarce, stosowana przy emulacji. Wymagane jest podanie sygnatury nowoczesnej przeglądarki, w przeciwnym razie Google każe "zaktualizować przeglądarkę".

Przykład żądania

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"GeeTestTask",
            "websiteURL":"http://mywebsite.com/geetest/test.php",
            "gt":"874703612e5cac182812a00e273aad0d",
            "challenge":"a559b82bca2c500101a1c8a4f4204742",
            "proxyType":"http",
            "proxyAddress":"8.8.8.8",
            "proxyPort":8080,
            "proxyLogin":"proxyLoginHere",
            "proxyPassword":"proxyPasswordHere",
            "userAgent":"MODERN_USER_AGENT_HERE"
        }
}' https://api.anti-captcha.com/createTask
        

Przykład odpowiedzi

JSON bez błędów
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON z błędem
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Odbierz rozwiązanie

Skorzystaj z metody getTaskResult by odebrać rozwiązanie. Daj pracownikowi trochę czasu, na przykład 5 sekund, zanim prześlesz pierwszą prośbę odbioru. Jeśli pracownik nadal jest zajęty, powtórz próbę po 3 sekundach.

Obiekt rozwiązanie zadania

Właściwość/atrybut Typ Przeznaczenie
challenge Łańcuch znaków (String) Łańcuch znaków (hash string) wymagany do interakcji z przesyłanym do docelowej strony formularzem.
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.

Przykład odpowiedzi

JSON bez błędów
          {
    "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 użycia tokenu