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

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

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

Логотип «GitHub»

Normal CAPTCHA

Captcha image

Normal CAPTCHA - это изображение, содержащее искаженный, но читаемый человеком текст. Чтобы разгадать капчу, пользователь должен ввести текст с изображения.

Тип задачи: ImageToTextTask

Этот метод используется для получения текста из искаженных изображений с капчей. Изображения должны быть закодированы в Base64 формат.

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

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

Свойство Тип Обязателен По умолчанию Описание
type Строка Да ImageToTextTask Тип задачи
body Строка Да Изображение закодированное в формате Base64. Также поддерживается формат Data-URI (содержащий префикс data:content/type)
phrase Логический Нет false false - не указан
true - ответ должен содержать как минимум два слова, разделенных пробелом.
case Логический Нет false false - не указан
true - результат чувствителен к регистру
numeric Число Нет 0 0 - не указан
1 - ответ должен содержать только цифры
2 - ответ должен содержать только буквы
3 - ответ должен содержать только цифры ИЛИ только буквы
4 - ответ ДОЛЖЕН содержать как цифры, так И буквы
math Логический Нет false false - не указан
true - капча требует вычисления
minLength Число Нет 0 0 - не указан
>=1 - определяет минимальную длину ответа
maxLength Число Нет 0 0 - не указан
>=1 - определяет максимальную длину ответа
comment Строка Нет Работникам будет показан комментарий, который поможет им правильно разгадать капчу
imgInstructions Строка Нет Дополнительное изображение с инструкцией, которое будет показано работникам. Изображение должно быть закодировано в формат Base64.

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

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

{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "ImageToTextTask",
        "body": "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",
        "phrase": false,
        "case": true,
        "numeric": 0,
        "math": false,
        "minLength": 1,
        "maxLength": 5,
        "comment": "введите текст, который вы видите на изображении"
    },
    "softId": "3898",
    "languagePool": "rn"
}

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

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "text": "Привет, мир"
    },
    "cost": "0.00025",
    "ip": "1.2.3.4",
    "createTime": 1692808229,
    "endTime": 1692808326
}

Примеры кода

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

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

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

  try {
      $result = $solver->normal('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.normal('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 NormalExample
      {
          public static void Main()
          {
              var solver = new TwoCaptcha("YOUR_API_KEY");
              Normal captcha = new Normal("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.Normal;

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