Skip to content
On this page
Home
>Задача(Token)
>Geetest

GeeTestTask: решение GeeTest

TIP

Создайте задачу с помощью метода createTask и получите результат с помощью метода getTaskResult.

Типы задач, которые мы поддерживаем:

  • GeeTestTask - для этого типа задачи требуются ваши собственные прокси.
  • GeeTestTaskProxyLess - использует встроенный прокси-сервер.

ПОДДЕРЖИВАЕМЫЕ ТИПЫ КАПЧИ

ТипПримечаниеСостояние
img.pngslidestable
img_2.pngclickstable

Создание задачи

Создайте задачу с помощью метода createTask.

Структура объекта задачи

СвойстваТипОбязательноОписание
typeStringRequiredGeeTestTask
GeeTestTaskProxyLess
websiteURLStringRequiredВеб-адрес веб-сайта, использующего geetest, обычно это фиксированное значение. (Пример: https://geetest.com)
gtStringRequiredДоменное поле gt.
challengeStringRequiredЕсли вам нужно решить Geetest V3, вы должны использовать этот параметр, необходимо, если вам нужно решить GeetestV4
captchaIdStringOptionalЕсли вам нужно решить Geetest V4, вы должны использовать этот параметр, необходимо, если вам нужно решить GeetestV3
geetestApiServerSubdomainStringOptionalСпециальный субдомен API.
proxyStringOptionalИзучите Использование прокси

Пример запроса

Пример запроса с использованием Geetest V3

json
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
json
{
    "clientKey": "ВАШ_API_KEY",
    "task": {
        "type":"GeeTestTaskProxyless", // Может использовать GeetestTaskProxyless или GeetestTask
        "websiteURL":"http://mywebsite.com/geetest/test.php",  // Обязательно
        "gt":"874703612e5cd0d", // Обязательно
        "challenge":"", // Обязательно
        "geetestApiServerSubdomain":"",  // Опционально
        "proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass
        "userAgent": "" // Опционально
    }
}

Пример запроса с использованием Geetest V4

json
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
json
{
    "clientKey": "ВАШ_API_KEY",
    "task": {
        "type":"GeeTestTask", // Может использовать GeetestTaskProxyless или GeetestTask
        "websiteURL":"http://mywebsite.com/geetest/test.php",  // Обязательно
        "captchaId": "", // Обязательно
        "geetestApiServerSubdomain":"", // Опционально
        "proxy":"" // Опционально, это требуется, если вы используете GeetestTask
    }
}

Пример ответа

json
{
    "errorId": 0,
    "status": "idle",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // запись taskId
}

Получение результата

Используйте метод getTaskResult для получения результата, в зависимости от загрузки системы, вы получите результат в интервале от 3 до 10 секунд.

Пример запроса

json
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey":"ВАШ_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Пример ответа

Пример ответа с использованием GeetestV3

json
{
 

 "errorId": 0,
  "solution": {
    "challenge": "",
    "validate": ""
  },
  "status": "ready"
}

Пример ответа с использованием GeetestV4

json
{
  "errorId": 0,
  "taskId": "e0ecaaa8-06f6-41fd-a02e-a0c79b957b15",
  "status": "ready",
  "solution": {
    "captcha_id": "",
    "captcha_output": "",
    "gen_time": "",
    "lot_number": "",
    "pass_token": "",
    "risk_type": "slide"
  }
}

Использование SDK

python
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'

import capsolver

# capsolver.api_key = "..."
# v3
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://mywebsite.com/geetest/test.php",
    "gt": "874703612e5cd0d",
    "challenge": "",
    "geetestApiServerSubdomain": "",
})

# v4
solution = capsolver.solve({
    "type": "GeeTestTaskProxyLess",
    "websiteURL": "http://mywebsite.com/geetest/test.php",
    "captchaId": "",
    "geetestApiServerSubdomain": "",
})
go
package main

import (
	"fmt"
	capsolver_go "github.com/capsolver/capsolver-go"
	"log"
)

func main() {
	// first you need to install sdk
	//go get github.com/capsolver/capsolver-go
	//export CAPSOLVER_API_KEY='...' or
	//capSolver := CapSolver{ApiKey:"..."}

	capSolver := capsolver_go.CapSolver{}
	// v3
	solution, err := capSolver.Solve(map[string]any{
		"type":                      "GeeTestTask", //GeeTestTask,GeeTestTaskProxyLess
		"websiteURL":                "http://mywebsite.com/geetest/test.php",
		"gt":                        "874703612e5cd0d",
		"challenge":                 "",
		"geetestApiServerSubdomain": "",
		"proxy":                     "",
	})
	if err != nil {
		log.Fatal(err)
		return
	}
	fmt.Println(solution)
	//v4
	solution, err = capSolver.Solve(
		map[string]any{
			"type":                      "GeeTestTask",
			"websiteURL":                "http://mywebsite.com/geetest/test.php",
			"websiteKey":                "",
			"cptchaId":                  "12310989asdf",
			"geetestApiServerSubdomain": "",
		})
	if err != nil {
		log.Fatal(err)
	}
}

Замечания

  1. Пожалуйста, не копируйте параметры запроса непосредственно из инструмента разработ

чика браузера, получите GT и challenge из запроса.

  1. Малое количество ошибок при повторном получении параметров верификационного кода можно повторно отправить.

  2. Параметры верификационного кода можно отправить на идентификацию только один раз, не повторяйте отправку тех же параметров на идентификацию, необходимо повторно инициализировать получение.

  3. Примечание: Если вы не можете пройти проверку на сайте, это может быть связано с проблемами кодирования, в таком случае символ CAPTCHA = заменяется на% 3D, в других случаях кодирование не требуется, обратите внимание на это.

  4. Параметры, такие как тестовый сервер, можно запросить в документации Geetest.