Home Documentatie Handleidingen Inloggen
Ondersteunde taaktypen
API methoden
Artikelen
Handleidingen
GitHub
Documentatie menu

ImageToTextTask : los een afbeelding captcha op

Plaats een adbeeldingsbody en ontvang er tekst van. Tekst kan alleen cijfers, letters, speciale tekens en een spatie bevatten. GIF-animaties worden ondersteund, tot 500kb. Aangepaste captchas zoals "zoek een kat in deze afbeeldingen en vul het aantal in" worden niet ondersteund.

Taak object

Eigenschap Type Verplicht Standaardwaarde Doel
type String Ja ImageToTextTask Definieert het type van de taak.
body String Ja Bestandsbody gecodeert in base64. Zorg ervoor dat u het verstuurd zonder regeleindes. Voeg geen 'data:image/png,' of soortgelijke tags toe, alleen schone base64!
phrase Booleaans No false fout - geen vereisten
goed - vereist dat de medewerker een antwoord invoert met ten minste een "spatie". Als er geen spatie is, zullen ze de taak overslaan, gebruik het dus met voorzorg.
case Booleaans No true fout - geen vereisten
goed - de medewerkers zal een speciale markering zien die verteld dat een antwoord zonder hoofdlettergevoeligheid moet worden ingevoerd.
numeric Integer No 0 0 - geen vereisten
1 - alleen cijfers zijn toegestaan
2 - alle letters zijn toegestaan behalve cijfers
math Booleaans No false fout - geen vereisten
goed - de medewerker zal een speciale markering zien die verteld dat het antwoord moet worden berekend
minLength Integer No 0 0 - geen vereisten
>1 - definieert de minimale lengte van het antwoord
maxLength Integer No 0 0 - geen vereisten
>1 - definieert de maximale lengte van het antwoord
comment String No Extra opmerkingen voor medewerkers zoals "voer letter in rode kleur in".
Resultaat is niet gegarandeerd en ligt geheel aan een medewerker.
websiteURL String No Optionele parameter om de bron van afbeelding captchas te onderscheiden in de uitgavestatistieken.

Voorbeeld aanvraag

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

}
        

Voorbeeld reactie

JSON zonder fouten
          {
    "errorId": 0,
    "taskId": 7654321
}
        
JSON met een fout
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

Haal de oplossing op

Gebruik methode getTaskResult om de oplossing aan te vragen. Geef een medewerker wat tijd, zoals 5 seconden, voordat u uw eerste aanvraag doet. Als de medewerkers nog steeds bezet is, probeert u het na 3 seconden.

Taak oplossing object

Eigenschap Type Doel
text String Tekst van afbeelding captcha
url String Webadres van captcha waar we het bewaren gedurende de volgende 24 uur. Daarna wordt het verwijderd.

Voorbeeld reactie

JSON zonder fouten
          {
    "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"
}