ডকুমেন্টেশন মেনু

ImageToTextTask : একটি ইমেজ ক্যাপচা সমাধান করুন

একটি ইমেজ বডি পোস্ট করুন এবং এটি থেকে বার্তা গ্রহণ করুন। কেবল অঙ্ক, অক্ষর, বিশেষ অক্ষর এবং একটি স্পেস থাকতে পারে। GIF অ্যানিমেশনগুলি ৫০০kb অবধি সমর্থিত। "এই ইমেজ সেটটিতে একটি বিড়াল খুঁজে বের করুন এবং এর নম্বরটি প্রবেশ করুন" এর মতো কাস্টম ক্যাপচারগুলি সমর্থিত নয়।

টাস্ক অবজেক্ট

প্রোপার্টি ধরণ জরুরী ডিফল্ট মান উদ্দেশ্য
type স্ট্রিং হ্যাঁ ImageToTextTask এক ধরণের টাস্ককে সংজ্ঞায়িত করে।
body স্ট্রিং হ্যাঁ ফাইল বডি base64 এনকোড করা হয়েছে। লাইন ব্রেক ছাড়া এটি পাঠাতে ভুলবেন না। 'data:image/png,' বা অনুরূপ ট্যাগগুলি অন্তর্ভুক্ত করবেন না, কেবল base64!
phrase বুলিয়ান না false ভুল - কোন প্রয়োজনীয়তা নেই
সঠিক - কর্মীকে কমপক্ষে একটি "স্পেস" সহ উত্তর প্রবেশ করতে হবে। যদি কোনও স্পেস না থাকে, তারা টাস্কটি এড়িয়ে যাবে, তাই সাবধানতার সাথে এটি ব্যবহার করুন।
case বুলিয়ান না true ভুল - কোন প্রয়োজনীয়তা নেই
সঠিক - কর্মী একটি বিশেষ চিহ্ন দেখবেন যা বলবে যে উত্তরটি অবশ্যই সংবেদনশীলতার সাথে প্রবেশ করতে হবে।
numeric পূর্ণসংখ্যা না 0 - কোন প্রয়োজনীয়তা নেই
- শুধুমাত্র সংখ্যা অনুমোদিত
- সংখ্যা ব্যতীত যে কোনও বর্ণের অনুমতি রয়েছে
math বুলিয়ান না false ভুল - কোন প্রয়োজনীয়তা নেই
সঠিক - কর্মীরা একটি বিশেষ চিহ্ন দেখবে যা বলবে যে উত্তরটি গণনা করতে হবে
minLength পূর্ণসংখ্যা না 0 - কোন প্রয়োজনীয়তা নেই
>১ - উত্তরের সর্বনিম্ন দৈর্ঘ্য নির্ধারণ করে
maxLength পূর্ণসংখ্যা না 0 - কোন প্রয়োজনীয়তা নেই
>১ - উত্তরের সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে
comment স্ট্রিং না কর্মীদের জন্য অতিরিক্ত মন্তব্য যেমন "লাল রঙের বর্ণগুলি প্রবেশ করুন".
ফলাফল গ্যারান্টিযুক্ত নয় এবং পুরোপুরি একজন কর্মীর উপর নির্ভর করে।
websiteURL স্ট্রিং না ব্যয়ের পরিসংখ্যানগুলিতে ইমেজ ক্যাপচারগুলির উৎসকে আলাদা করতে ঐচ্ছিক প্যারামিটার।

উদাহরণের অনুরোধ

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

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

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

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

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

}
        

প্রতিক্রিয়ার উদাহরণ

ত্রুটিমুক্ত JSON
          {
    "errorId": 0,
    "taskId": 7654321
}
        
ত্রুটিযুক্ত JSON
          {
    "errorId": 1,
    "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
    "errorDescription": "Account authorization key not found in the system"
}
        

সমাধানটি পুনরুদ্ধার করুন

সমাধান অনুরোধ করতে getTaskResult পদ্ধতি ব্যাবহার করুন। প্রথম অনুরোধটি করার আগে, একটি কর্মীকে কিছু সময় দিন, ৫ সেকেন্ডের মতো। কর্মীটি এরপরেও ব্যস্ত থাকলে ৩ সেকেন্ড পর পুনরায় চেষ্টা করুন।

টাস্ক সমাধান অবজেক্ট

প্রোপার্টি ধরণ উদ্দেশ্য
text স্ট্রিং ইমেজ ক্যাপচা থেকে বার্তা
url স্ট্রিং ক্যাপচার ওয়েব ঠিকানা যেখানে আমরা এটি পরবর্তী ২৪ ঘন্টা সংরক্ষণ করব। এটি পরে অপসারণ করা হবে।

প্রতিক্রিয়ার উদাহরণ

ত্রুটিমুক্ত JSON
          {
    "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"
}