Beranda Dokumentasi Tutorial Masuk
Jenis tugas yang didukung
Metode API
Artikel
Tutorial
GitHub
Menu dokumentasi

ImageToTextTask : selesaikan captcha gambar

Posting gambar dan terima teks darinya. Teks hanya dapat berisi digit, huruf, karakter spesial, dan spasi. Mendukung animasi GIF hingga 500kb. Tidak mendukung captcha kustom seperti "temukan kucing di set gambar ini dan masukkan angkanya".

Objek tugas

Properti Jenis Wajib Nilai default Tujuan
type String Ya ImageToTextTask Mendefinisikan jenis tugas.
body String Ya Berkas yang dikodekan dalam base64. Pastikan untuk mengirimnya tanpa line break. Jangan sertakan 'data:image/png' atau tag serupa, hanya base64!
phrase Boolean Tidak false false - tidak ada persyaratan
true - mewajibkan pekerja untuk memasukkan jawaban dengan setidaknya satu "spasi". Jika tidak ada spasi, tugas akan dilompati. Jadi, gunakan dengan hati-hati.
case Boolean Tidak true false - tidak ada persyaratan
true - pekerja akan melihat tanda khusus yang meminta jawaban dimasukkan dengan sensitivitas terhadap huruf kapital.
numeric Integer Tidak 0 0 - tidak ada persyaratan
1 - hanya boleh angka
2 - boleh semua huruf, kecuali angka
math Boolean Tidak false false - tidak ada persyaratan
true - pekerja akan melihat tanda khusus yang meminta jawaban harus diperhitungkan
minLength Integer Tidak 0 0 - tidak ada persyaratan
>1 - mendefinisikan panjang jawaban minimum
maxLength Integer Tidak 0 0 - tidak ada persyaratan
>1 - mendefinisikan panjang jawaban maksimum
comment String Tidak Komentar tambahan untuk pekerja seperti "masukkan huruf dengan warna merah".
Hasil tidak terjamin dan sepenuhnya tergantung pada pekerja.
websiteURL String Tidak Parameter opsional untuk membedakan sumber captcha gambar dalam statistik pengeluaran.

Contoh permintaan

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"ImageToTextTask",
            "body":"BASE64_BODY_HERE__NO_NEWLINES__NO_EXTRA_TAGS__ONLY_CLEAN_BASE64",
            "phrase":false,
            "case":false,
            "numeric":0,
            "math":false,
            "minLength":0,
            "maxLength":0
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
        
PHP
          <?php

//git clone git@github.com:AdminAnticaptcha/anticaptcha-php.git

include("anticaptcha.php");
include("imagetotext.php");

$api = new ImageToText();

//your anti-captcha.com account key
$api->setKey("YOUR_API_KEY_HERE");

//setting file
$api->setFile("captcha.jpg");

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
$api->setSoftId(0);

//create task in API
if (!$api->createTask()) {
    echo "API v2 send failed - ".$api->getErrorMessage()."\n";
    exit;
}

$taskId = $api->getTaskId();

if (!$api->waitForResult()) {
    echo "could not solve captcha\n";
    echo $api->getErrorMessage()."\n";
} else {
    $captchaText    =   $api->getTaskSolution();
    echo "captcha text: $captchaText\n\n";
}
        
Python
          #pip3 install anticaptchaofficial

from anticaptchaofficial.imagecaptcha import *

solver = imagecaptcha()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")

# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)

captcha_text = solver.solve_and_return_solution("captcha.jpeg")
if captcha_text != 0:
    print "captcha text "+captcha_text
else:
    print "task finished with error "+solver.error_code
        
NodeJS
          //npm install @antiadmin/anticaptchaofficial
//https://github.com/AdminAnticaptcha/anticaptcha-npm

const ac = require("@antiadmin/anticaptchaofficial");
const fs = require('fs');

const captcha = fs.readFileSync('captcha.png', { encoding: 'base64' });

ac.setAPIKey('YOUR_API_KEY_HERE');

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);

ac.solveImage(captcha, true)
    .then(text => console.log('captcha text: '+text))
    .catch(error => console.log('test received error '+error));
        
C#
          //git clone git@github.com:AdminAnticaptcha/anticaptcha-csharp

using System;
using Anticaptcha_example.Api;
using Anticaptcha_example.Helper;
using Newtonsoft.Json.Linq;

namespace Anticaptcha_example
{
    internal class Program
    {
        private static void Main() {

            DebugHelper.VerboseMode = true;

            var api = new ImageToText
            {
                ClientKey = "YOUR_API_KEY_HERE",
                FilePath = "captcha.jpg",
                // Specify softId to earn 10% commission with your app.
                // Get your softId here:
                // https://anti-captcha.com/clients/tools/devcenter
                SoftId = 0
            };

            if (!api.CreateTask())
                DebugHelper.Out("API v2 send failed. " + api.ErrorMessage, DebugHelper.Type.Error);
            else if (!api.WaitForResult())
                DebugHelper.Out("Could not solve the captcha.", DebugHelper.Type.Error);
            else
                DebugHelper.Out("Result: " + api.GetTaskSolution().Text, DebugHelper.Type.Success);

        }
    }
}

        
Java
          //git clone git@github.com:AdminAnticaptcha/anticaptcha-java.git

package com.anti_captcha;

import com.anti_captcha.Api.ImageToText;
import com.anti_captcha.Helper.DebugHelper;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.concurrent.ThreadLocalRandom;

public class Main {

    public static void main(String[] args) throws InterruptedException, MalformedURLException, JSONException {
        DebugHelper.setVerboseMode(true);

        ImageToText api = new ImageToText();
        api.setClientKey("YOUR_API_KEY_HERE");
        api.setFilePath("captcha.jpg");

        //Specify softId to earn 10% commission with your app.
        //Get your softId here: https://anti-captcha.com/clients/tools/devcenter
        api.setSoftId(0);

        if (!api.createTask()) {
            DebugHelper.out(
                    "API v2 send failed. " + api.getErrorMessage(),
                    DebugHelper.Type.ERROR
            );
        } else if (!api.waitForResult()) {
            DebugHelper.out("Could not solve the captcha.", DebugHelper.Type.ERROR);
        } else {
            DebugHelper.out("Result: " + api.getTaskSolution().getText(), DebugHelper.Type.SUCCESS);
        }
    }

}
        

Contoh respons

JSON tanpa kesalahan
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON dengan kesalahan
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Dapatkan solusi

Gunakan metode getTaskResult untuk meminta solusi. Berikan waktu pada pekerja, sekitar 5 detik, sebelum membuat permintaan pertama. Jika pekerja masih sibuk, ulangi dalam 3 detik.

Objek solusi tugas

Properti Jenis Tujuan
text String Teks dari captcha gambar
url String Alamat web captcha di mana kami akan menyimpannya selama 24 jam selanjutnya. Akan dihapus setelahnya.

Contoh respons

JSON tanpa kesalahan
          {
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "text":"deditur",
        "url":"http://61.39.233.233/1/147220556452507.jpg"
    },
    "cost":"0.000700",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}