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"
}