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

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

Looking for international version of our service? Go to 2captcha.com

Логотип «GitHub»

Метод Grid

Grid

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

Возвращает массив индексов плиток, где 1 - верхняя левая плитка.

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

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

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

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

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

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"GridTask",
        "body":"/9j/4AAQSkZJRgABAQAAAQ..HIAAAAAAQwAABtbnRyUkdCIFhZ.wc5GOGSRF//Z",
        "comment":"select all vehicles",
        "rows": 4,
        "columns": 4
    }
}

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

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "click": [
            4,
            8,
            12,
            16
        ]
    },
    "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->grid('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.grid('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 GridExample
      {
          public static void Main()
          {
              var solver = new TwoCaptcha("YOUR_API_KEY");
              Grid captcha = new Grid("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.Grid;

  public class GridExample {
      public static void main(String[] args) {
          TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
          Grid captcha = new Grid("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.Grid{
          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.grid({ image: 'path/to/captcha.jpg'})
  # OR
  result = client.grid({
  image: 'https://site-with-captcha.com/path/to/captcha.jpg'
  })