Метод Rotate

Rotate

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

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

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

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

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

Метод: createTask
Эндпоинт API: https://api.2captcha.com/createTask

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type": "RotateTask",
        "body": "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",
        "comment": "position the image properly",
        "angle": 60
    },
    "languagePool": "en"
}

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

Метод: getTaskResult
Эндпоинт API: https://api.2captcha.com/getTaskResult

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "rotate": 180
    },
    "cost": "0.0005",
    "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->rotate([
        'file'  => 'path/to/captcha.jpg',
        'angle' => 15,
    ]);
} 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.rotate('./images/rotate.jpg')

except Exception as e:
    sys.exit(e)

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

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

namespace TwoCaptcha.Examples
{
    public class RotateExample
    {
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
            Rotate captcha = new Rotate();
            captcha.SetFile("path/to/captcha.jpg");
            captcha.SetAngle(15);
            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.Rotate;

public class RotateExample {
    public static void main(String[] args) {
        TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
        Rotate captcha = new Rotate();
        captcha.setFile("path/to/captcha.jpg");
        captcha.setAngle(15);
        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")
  captcha := api2captcha.Rotate{
      File: "path/to/captcha.jpg",
      Angle: 15,
  }
  code, err := client.Solve(captcha.ToRequest())
  if err != nil {
      log.Fatal(err);
  }
  fmt.Println("code "+code)
}
# https://github.com/2captcha/2captcha-ruby
require 'api_2captcha'

client =  Api2Captcha.new("YOUR_API_KEY")

result = client.rotate({
  image: 'path/to/captcha.jpg',
  angle: 40,
  lang: 'en',
  hint_image: 'path/to/hint.jpg',
  hint_text: 'Put the images in the correct way'
})

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