Уведомление об использовании файлов cookie

Этот сайт использует cookie. Файлы cookie запоминают вас, поэтому мы можем предоставить вам персонализированные услуги. Подробнее.

Логотип «GitHub»

Метод Coordinates

Coordinates

Этот метод можно использовать для решения задач, в которых вам нужно щелкнуть по определенным точкам на изображении. В ответе вы получите координаты точек в том порядке, в котором на них кликнул работник.

Также его можно использовать в тех случаях, когда вам нужно рассчитать расстояние между точками. Например, чтобы обойти капчи в виде слайдера, вы можете поручить нашему сотруднику щелкнуть по определенной точке изображения, используя параметры comment и imgInstructions, а затем использовать координаты точки для вычисления расстояния между начальной и конечной точками слайдера и перемещения слайдера.

Поддерживаемые форматы изображений: JPEG, PNG, GIF
Максимальный размер файла: 600 kB
Максимальный размер изображения: 1000px с любой стороны

Спецификация для типа задачи CoordinatesTask

Свойство Тип Обязателен Описание
type Строка Да Тип задания: CoordinatesTask
body Строка Да Изображение закодировано в формат Base64. Также поддерживается формат Data-URI (содержащий префикс data:content/type)
comment Строка Нет Работникам будет показан комментарий, который поможет им правильно разгадать капчу
imgInstructions Строка Нет Необязательное изображение с инструкцией, которое будет показано работникам. Изображение должно быть закодировано в формат Base64. Максимальный размер файла: 100 kB

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

Метод: createTask
Конечная точка API: https://api.2captcha.com/createTask

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"CoordinatesTask",
        "body":"/9j/4AAQSkZJRgABAQAAAQ..HIAAAAAAQwAABtbnRyUkdCIFhZ.wc5GOGSRF//Z",
        "comment":"click on the green apple"
    }
}

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

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "coordinates": [
            {
                "x": 358,
                "y": 268
            }
        ]
    },
    "cost": "0.0012",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 1
}

Примеры кода

  // https://github.com/2captcha/2captcha-php

  require(__DIR__ . '/../src/autoloader.php');

  $solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY');

  try {
      $result = $solver->coordinates('path/to/captcha.jpg');
  } catch (\Exception $e) {
      die($e->getMessage());
  }

  die('Captcha solved: ' . $result->code);
# https://github.com/2captcha/2captcha-python

import sys
import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from twocaptcha import TwoCaptcha

api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY')

solver = TwoCaptcha(api_key)

try:
  result = solver.coordinates('path/to/captcha.jpg')

except Exception as e:
  sys.exit(e)

else:
  sys.exit('solved: ' + str(result))
  // https://github.com/2captcha/2captcha-csharp

  using System;
  using System.Linq;
  using TwoCaptcha.Captcha;

  namespace TwoCaptcha.Examples
  {
      public class CoordinatesExample
      {
          public static void Main()
          {
              var solver = new TwoCaptcha("YOUR_API_KEY");
              Coordinates captcha = new Coordinates("path/to/captcha.jpg");
              try
              {
                  solver.Solve(captcha).Wait();
                  Console.WriteLine("Captcha solved: " + captcha.Code);
              }
              catch (AggregateException e)
              {
                  Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
              }
          }
      }
  }
  // https://github.com/2captcha/2captcha-java

  package examples;

  import com.twocaptcha.TwoCaptcha;
  import com.twocaptcha.captcha.Coordinates;

  public class CoordinatesExample {
      public static void main(String[] args) {
          TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
          Coordinates captcha = new Coordinates("path/to/captcha.jpg");
          try {
              solver.solve(captcha);
              System.out.println("Captcha solved: " + captcha.getCode());
          } catch (Exception e) {
              System.out.println("Error occurred: " + e.getMessage());
          }
      }

  }
  // https://github.com/2captcha/2captcha-go

  package main

  import (
      "fmt"
      "log"
      "github.com/2captcha/2captcha-go"
  )

  func main() {
      client := api2captcha.NewClient("API_KEY")
      cap := api2captcha.Coordinates{
          File: "/path/to/captcha.jpg",
      }
      code, err := client.Solve(cap.ToRequest())
      if err != nil {
          log.Fatal(err);
      }
      fmt.Println("code "+code)
  }
  require 'api_2captcha'

  client =  Api2Captcha.new("YOUR_API_KEY")

  result = client.coordinates({ image: 'path/to/captcha.jpg'})
  # OR
  result = client.coordinates({
  image: 'https://site-with-captcha.com/path/to/captcha.jpg'
  })

Полезные ссылки