Демо капч

Rotate CAPTCHA демо

На этой демо странице вы можете протестировать пример формы с Rotate CAPTCHA.

Rotate Captcha — это вид капчи, для решения которой нужно поворачивать изображение. Наиболее популярная реализация — FunCaptcha.

пример rotatecaptcha
Логотип "Rotate CAPTCHA"

Во многих случаях Rotate CAPTCHA создает проблемы с доступностью для сайтов, ограничивает доступ к открытой информации и также усложняет тестирование сайтов. Используйте сервис автоматического решения Rotate CAPTCHA.

Обход Rotate CAPTCHAДокументация API

Как решить Rotate Captcha

  1. Скачайте изображение капчи.

  2. Отправьте изображение на наш API.

    Используя SDK (рекомендовано):

    PHP

    // 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);

    Python

    # 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))

    Java

    // 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());
            }
        }
    }

    C#

    // 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);
                }
            }
        }
    }

    Go

    // 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.Rotate{
            File: "path/to/captcha.jpg",
            Angle: 15,
        }
        code, err := client.Solve(cap.ToRequest())
        if err != nil {
            log.Fatal(err);
        }
        fmt.Println("code "+code)
    }

    C++

    // https://github.com/2captcha/2captcha-cpp
    
    #include <cstdio>
    
    #include "curl_http.hpp"
    #include "api2captcha.hpp"
    
    int main (int ac, char ** av)
    {
    if (ac < 2)
    {
        printf ("Usage: ./rotate path/to/image.jpg\n");
        return 0;
    }
    
    api2captcha::curl_http_t http;
    http.set_verbose (true);
    
    api2captcha::client_t client;
    client.set_http_client (&http);
    client.set_api_key (API_KEY);
    
    assert (ac > 1);
    
    api2captcha::rotate_t cap (av[1]);
    
    try
    {
        client.solve (cap);
        printf ("code '%s'\n", cap.code ().c_str ());
    }
    catch (std::exception & e)
    {
        fprintf (stderr, "Failed: %s\n", e.what ());
    }
    
    return 0;   
    }

    Ruby

    # 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'
    })

    Вручную:

    1. Пример multipart-формы:

      <form method="post" action="https://rucaptcha.com/in.php" enctype="multipart/form-data">
          KEY:<br>
          <input  name="key" value="YOUR_APIKEY"><br>
          Type<br>
          <input  name="method" value="rotatecaptcha"><br>
          Angle<br>
          <input  name="angle" value="15"><br>
          File:<br>
          <input type="file" name="file_1"><br>
          <input type="submit" value="Upload and get the ID">
      </form>
    2. Если вы отправили корректный запрос, сервер вернёт ID вашей капчи:

      OK|2122988149
      В противном случае сервер вернет ошибку.

    3. Через 5 секунд отправьте GET запрос чтобы получить результат:

      GET https://rucaptcha.com/res.php?key=YOUR_API_KEY&action=get&id=2122988149
      Если ваша капча уже решена, сервер вернёт ответ на неё:

      OK|165
      Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд. Если что-то пошло не так, сервер вернёт ошибку.

  3. Вставьте полученный код в поле и нажмите "Проверить".