Menu

แก้ Captcha แบบรูปภาพ

โพสต์เนื้อหารูปภาพและรับข้อความจากเนื้อหานั้น ข้อความต้องเป็นตัวเลข ตัวอักษร อักขระพิเศษและช่องว่างเท่านั้น รองรับภาพเคลื่อนไหว GIF สูงสุด 500kb Captcha ที่กำหนดเอง เช่น "ค้นหาแมวในชุดรูปภาพนี้ และใส่หมายเลข" ไม่รองรับ

แคปต์ชาทั้งหมดใน Anti Captcha ถูกแก้ไขโดยแรงงานมนุษย์เท่านั้น ไม่มีซอฟต์แวร์ AI หรือ OCR เข้ามาเกี่ยวข้อง เราต่อต้านความพยายามโกงของพนักงานในการแก้ไขด้วยซอฟต์แวร์ OCR อย่างจริงจัง และได้แบนบัญชีพนักงานนับล้านบัญชีตั้งแต่ปี 2007 เราใช้กลยุทธ์ที่แตกต่างกันหลายสิบวิธีเพื่อให้แน่ใจว่ามีมนุษย์จริงปรากฏอยู่ วัดและให้คะแนนคุณภาพการป้อนข้อความ และส่งเสริมพนักงานที่ภักดี เป้าหมายของเราคือการบรรลุคุณภาพการจดจำภาพ 100% เสมอมา เพื่อให้แน่ใจว่าลูกค้าของเราพึงพอใจและสบายใจ

Python
Node.js
Go
PHP
Java
C#
bash

วิธีแก้ Captcha แบบรูปภาพ ใน 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)

วิธีแก้ Captcha แบบรูปภาพ ใน 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));

วิธีแก้ Captcha แบบรูปภาพ ใน 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)
}

วิธีแก้ Captcha แบบรูปภาพ ใน 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";
}

วิธีแก้ Captcha แบบรูปภาพ ใน 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);
        }
    }

}

วิธีแก้ Captcha แบบรูปภาพ ใน 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);

        }
    }
}

วิธีแก้ Captcha แบบรูปภาพ ใน 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 สตริง ไม่ พารามิเตอร์ทางเลือกในการแยกแยะแหล่งที่มาของ Captcha แบบรูปภาพในสถิติการใช้จ่าย
languagePool สตริง ไม่ en ตั้งค่าภาษาของกลุ่มพนักงาน ใช้กับ Captcha แบบรูปภาพเท่านั้น ปัจจุบันมีกลุ่มภาษาดังต่อไปนี้

"en" (ค่าเริ่มต้น): คิวที่เป็นภาษาอังกฤษ
"rn": กลุ่มประเทศ: รัสเซีย ยูเครน เบลารุส คาซัคสถาน

อ็อบเจ็กต์โซลูชันงาน

คุณสมบัติ ประเภท วัตถุประสงค์
text สตริง ข้อความจาก Captcha แบบรูปภาพ
url สตริง ที่อยู่เว็บที่เราจะจัดเก็บ Captcha ไว้ 24 ชั่วโมงและจะลบออกหลังจากนั้น

ตัวอย่างการตอบกลับ

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