Menu

حل‌کردن کپچای تصویری

یک بدنه تصویر را پست می‌کند و متن را از آن دریافت می‌کند. متن فقط می‌تواند حاوی عدد، حرف، کاراکترهای ویژه و اسپیس باشد. انیمیشن‌های GIF تا kb ۵۰۰ پشتیبانی می‌شوند. کپچاهای سفارشی مثل "گربه‌ای را در این مجموعه تصویر پیدا کن و شماره آن را وارد کن " پشتیبانی نمی‌شود.

تمام کپچاها در Anti Captcha تنها توسط نیروی انسانی حل می‌شوند و هیچ نرم‌افزار هوش مصنوعی یا OCR در آن دخیل نیست. ما به‌طور فعال در برابر تلاش‌های تقلب کارگران خود برای حل آن‌ها با نرم‌افزار OCR مقابله می‌کنیم و از سال ۲۰۰۷ میلیون‌ها حساب کارگری را مسدود کرده‌ایم. ما از ده‌ها تاکتیک مختلف برای اطمینان از حضور واقعی انسان استفاده می‌کنیم، کیفیت ورود متن را اندازه‌گیری و امتیازدهی می‌کنیم و کارگران وفادار را ترفیع می‌دهیم. هدف ما همواره دستیابی به کیفیت ۱۰۰٪ تشخیص تصویر برای اطمینان از رضایت و آرامش خاطر مشتریانمان بوده است.

Python
Node.js
Go
PHP
Java
C#
bash

چگونه کپچای تصویری را در 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)

# optional parameters, see documentation for details
# solver.set_phrase(True)                      # 2 words
# solver.set_case(True)                        # case sensitivity
# solver.set_numeric(1)                        # only numbers
# solver.set_minLength(1)                      # minimum captcha text length
# solver.set_maxLength(10)                     # maximum captcha text length
# solver.set_math(True)                        # math operation result, for captchas with text like 50+5
# solver.set_comment("only green characters")  # comment for workers
# solver.set_language_pool("en")               # language pool

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)

چگونه کپچای تصویری را در Node.js حل کنیم

// npm install @antiadmin/anticaptchaofficial
// https://github.com/anti-captcha/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);

// Additional flags, see documentation description
// ac.settings.phrase = true;                  // 2 words
// ac.settings.case = true;                    // case sensitivity
// ac.settings.numeric = 1;                    // only numbers
// ac.settings.comment = "only green letters"; // text comment for workers
// ac.settings.math = true;                    // math operation like 50+2
// ac.settings.minLength = 1;                  // minimum amount of characters
// ac.settings.maxLength = 10;                 // maximum number of characters
// ac.settings.languagePool = 'en';            // language pool

ac.solveImage(captcha, true)
    .then(text => console.log('captcha text: '+text))
    .catch(error => console.log('test received error '+error));

چگونه کپچای تصویری را در Go حل کنیم

// Install with:
// go get github.com/anti-captcha/anticaptcha-go
package main

import (
    "fmt"
    "github.com/anti-captcha/anticaptcha-go"
    "log"
)

func main() {
    // Create API client and set the API Key
    ac := anticaptcha.NewClient("API_KEY_HERE")

    // set to 'false' to turn off debug output
    ac.IsVerbose = true

    // Specify softId to earn 10% commission with your app.
    // Get your softId here: https://anti-captcha.com/clients/tools/devcenter
    //ac.SoftId = 1187

    // Make sure the API key funds balance is positive
    balance, err := ac.GetBalance()
    if err != nil {
        log.Fatal(err)
        // Exit program to make sure you don't DDoS API with requests, while having empty balance
        return
    }
    fmt.Println("Balance:", balance)

    // Solve image captcha
    solution, err := ac.SolveImageFile("captcha.jpg", anticaptcha.ImageSettings{
        // Optional settings, see documentation for description
        // Phrase        true,                         // Set to 'true' if the image has 2 or more words
        // CaseSensitive true,                         // Set to 'true' if the image is case-sensitive
        // Numeric       1,                            // Set numbers mode
        // MathOperation true,                         // Set to 'true' if the needs a math operation, like result of 50+5
        // MinLength     1,                            // Set minimum length of the text
        // MaxLength     10,                           // Set maximum length of the text
        // LanguagePool  "en",                         // Set language pool to 'en' for English, 'rn' for Russian
        // Comment       "Type in green characters",   // Optional comment for the task
        // WebsiteURL:   "https://some-website.com/",  // Optional to collect stats in the dashboard by this website
    })
    // OR
    // solution, err := ac.SolveImage("image-encoded-in-base64", anticaptcha.ImageSettings{})
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("Captcha Solution:", solution)
}

چگونه کپچای تصویری را در PHP حل کنیم

//git clone https://github.com/anti-captcha/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);

//$api->setPhraseFlag(true);   // 2 words flag
//$api->setCaseFlag(true);     // case sensitivity flag
//$api->setNumericFlag(1);     // only numbers flag
//$api->setMathFlag(true);     // math operation flag
//$api->setMinLengthFlag(1);   // minimum number or characters flag
//$api->setMaxLengthFlag(10);  // maximum number of characters flag
//$api->setLanguagePool("en"); // define language pool (see available pools above)

//Define the source website to collect statistics in your Anti-Captcha dashboard
//$api->setWebsiteURL("https://mywebsite.com/");


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

چگونه کپچای تصویری را در Java حل کنیم

//git clone https://github.com/anti-captcha/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);

        //optional parameters, see documentation
        //api.setPhrase(true);                                    // 2 words
        //api.setCase(true);                                      // case sensitivity
        //api.setNumeric(ImageToText.NumericOption.NUMBERS_ONLY); // only numbers
        //api.setMath(1);                                         // do math operation like result of 50+5
        //api.setMinLength(1);                                    // minimum length of the captcha text
        //api.setMaxLength(10);                                   // maximum length of the captcha text
        //api.setLanguagePool("en");                              // set pool of the languages used in the captcha

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

}

چگونه کپچای تصویری را در C# حل کنیم

//git clone https://github.com/anti-captcha/anticaptcha-csharp.git

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

                // Additional flags, see documentation for details
                // Phrase = false,      // 2 words
                // Case = false,        // case sensitivity
                // Numeric = 1,         // numbers only
                // Math = 1,            // math operation like result of 50+5
                // MinLength = 1,       // minimum length of solution
                // MaxLength = 10,      // maximum length
                // LanguagePool = "en"  // language pool, see docs for available pools
            };

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

        }
    }
}

چگونه کپچای تصویری را در bash حل کنیم

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,
            "languagePool":"en"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask

شیء وظیفه

خصوصیت نوع ضروری مقدار پیش‌فرض هدف
type رشته بله ImageToTextTask نوع وظیفه را تعیین می‌کند.
body رشته بله بدنه فایل که با base64 رمزگذاری شده است. حتماً آن را بدون شکستِ خطوط ارسال کنید. برچسب 'data:image/png,' یا برچسب‌های مشابه را در آن قرار ندهید، باید فقط base64 خالص وجود داشته باشد!
phrase بولی خیر false
case بولی خیر true
numeric عدد صحیح خیر 0
math بولی خیر false
minLength عدد صحیح خیر 0
maxLength عدد صحیح خیر 0
comment رشته خیر توضیحات بیشتر برای کارگران مثلاً "enter red text" (متن قرمز را وارد کن). رسیدن به نتیجه مدنظر، تضمین‌شده نیست و کاملاً بستگی به کارگر دارد.
websiteURL رشته خیر پارامتر اختیاری برای متمایزکردن منبع کپچاهای تصویری در آمارهای هزینه.
languagePool رشته خیر en زبان منبع را برای کارگران تعیین می‌کند. فقط برای کپچا‌های تصویری کاربرد دارد. در حال حاضر، منابع زبان زیر در دسترس هستند:

"en" (پیش فرض): صف زبان انگلیسی
"rn": گروه کشورها: روسیه، اوکراین، بلاروس، قزاقستان

شیء راه‌حل وظیفه

خصوصیت نوع هدف
text رشته متن از کپچای تصویری
url رشته آدرس وب کپچا که ما آن را تا ۲۴ ساعت بعد ذخیره خواهیم کرد و سپس حذف خواهد شد.

نمونه پاسخ

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