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

Логотип «GitHub»

Метод 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.rucaptcha.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.rucaptcha.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'
})

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