Home Dokumentasyon Mga tutorial Mag-Sign In
Mga suportadong uri ng gawain
Mga metodong API
Mga artikulo
Mga tutorial
GitHub
Menu ng dokumentasyon

ImageToTextTask : maglutas ng imaheng captcha

Mag-post ng katawang imahe at tumanggap ng teksto mula rito. Ang teksto ay maaari lamang mayroong mga numero, mga letra, mga espesyal na karakter at espasyo. Mga GIF na animasyon ay sinusuportahan, hanggang 500kb. Mga pasadyang captcha gaya ng "find a cat on this image set and enter its number" ay hindi suportado.

Bagay ng gawain

Katangian Uri Kinakailangan Default na halaga Layunin
type String Oo ImageToTextTask Tinutukoy ang uri ng gawain.
body String Oo Ang katawan ng file ay naka-encode sa base64. Siguraduhin na ipadala ito ng walang mga line break. Huwag isama ang 'data:image/png,' o mga kaparehong tag, malinis na base64 lamang!
phrase Boolean Hindi false mali - walang mga kinakailangan
tama - kinakailangan na ang manggagawa na mag-enter ng sagot na may kahit isang "space". Kapag walang espasyo, lalaktawan nila ang gawain, kaya gamitin ito ng may pag-iingat.
case Boolean Hindi true mali - walang mga kinakailangan
tama - ang manggagawa ay makakakita ng espesyal na marka na nagsasabi na ang sagot ay dapat na ma-enter na may pagkasensitibo sa case.
numeric Integer Hindi 0 0 - walang mga kinakailangan
1 - numero lamang ang pinapayagan
2 - kahit anong mga letra ang pinapayagan maliban sa mga numero
math Boolean Hindi false mali - walang mga kinakailangan
tama - ang manggagawa ay makakakita ng espesyal na marka na nagsasabi na ang sagot ay dapat na kalkulahin
minLength Integer Hindi 0 0 - walang mga kinakailangan
>1 - tinutukoy ang pinakamaikling haba ng sagot
maxLength Integer Hindi 0 0 - walang mga kinakailangan
>1 - tinutukoy ang pinakamahabang haba ng sagot
comment String Hindi Karagdagang komento para sa mga manggagagwa gaya ng "enter letters in red color".
Ang resulta ay hindi garantisado at buong-buo na ang manggagawa ang bahala.
websiteURL String Hindi Opsiyonal na parametro para makilala ang pinagmulan ng mga imaheng captcha sa estadistika ng paggastos.

Halimbawa ng kahilingan

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

}
        

Halimbawa ng tugon

JSON na walang mga error
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON na may error
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Kunin ang solusyon

Gamitin ang metodong getTaskResult para hilingin ang solusyon. Bigyan ang manggagawa ng ilang oras, gaya ng 5 segundo, bago gumawa ng unang kahilingan. Kapag ang manggagawa ay abala pa, subukang muli sa loob ng 3 segundo.

Bagay ng solusyon ng gawain

Katangian Uri Layunin
text String Teksto mula sa imaheng captcha
url String Web adres ng captcha kung saan namin ito itatago sa susunod na 24 na oras. Ito ay aalisin pagkatapos.

Halimbawa ng tugon

JSON na walang mga error
          {
    "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"
}