Skip to content
API
ReCAPTCHA
Larawan

ReCAPTCHA Image (Phone)

Pangkalahatang-ideya

Lutasin ang Recaptcha nang napakabilis, nangunguna sa katumpakan sa merkado. Nagbibigay kami ng mga serbisyo upang malutas ang lahat ng uri ng ReCaptcha Image sa mga telepono.

📱

Ang serbisyong ito ay nagbibigay-daan sa iyo na magpadala ng mga captcha image at makatanggap ng mga index ng mga cell na iki-click upang malutas ang captcha.

ReCAPTCHA Mobile

1. Lumikha ng Gawain

Request

POST https://api.achicaptcha.com/createTask

Mga Parameter

Pangalan ng ParameterUri ng DataKailangan?Paglalarawan
clientKeystringooApi key
task.typestringooReCaptchaPhoneTask
task.subTypestringooValue ay katumbas ng 0
task.imagestringooCaptcha image sa base64 format, i-capture ang captcha image display area (walang border, maliliit na square cells lang)
task.otherstringooTanong|Bilang ng grid
• Tanong: "Select all images with a bus" (full question text shown in the captcha prompt)
• Bilang ng grid: 3 (o 4, 5)
→ iba pa: "Select all images with a bus|4"

Halimbawa ng Request

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaPhoneTask",
    "subType": "0",
    "image": "iVBORw0KGgoAAAANSUhEUgAA...(base64 encoded image)",
    "other": "Select all images with a bus|4"
  }
}

Response

Kapag matagumpay, ibabalik ng server ang errorId = 0 at taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. Kunin ang Resulta

Request

POST https://api.achicaptcha.com/getTaskResult

Mga Parameter

Pangalan ng ParameterUri ng DataKailangan?Paglalarawan
clientKeystringooApi key
taskIdstringooTaskId na nakuha mula sa (1)

Halimbawa ng Request

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Response

{
  "errorId": 0,
  "status": "ready",
  "solution": "0,5,9"
}

Tandaan: Para sa uri na "grid", ang solusyon ay isang listahan ng mga index ng imahe na iki-click, simula sa 0

Paliwanag sa Status

  • errorId = 0: Matagumpay na nalutas, basahin ang resulta sa solution
  • errorId = 1: Nilulutas ang captcha, maghintay ng 2-3 segundo at subukang muli
  • errorId > 1: Error sa system, nagbabalik ng error code at paglalarawan

Mga Halimbawa ng Integrasyon

import requests
import time
 
def solve_recaptcha_phone(image_base64, question, grid_count, api_key='YOUR_API_KEY'):
    # Hakbang 1: Lumikha ng gawain
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'ReCaptchaPhoneTask',
            'subType': '0',
            'image': image_base64,
            'other': f'{question}|{grid_count}'
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] > 1:
        raise Exception(result['errorDescription'])
    
    task_id = result['taskId']
    
    # Hakbang 2: Kunin ang resulta
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Maghintay ng 2-3 segundo
        
        get_result_payload = {
            'clientKey': api_key,
            'taskId': task_id
        }
        
        response = requests.post(get_result_url, json=get_result_payload)
        result = response.json()
        
        if result['errorId'] > 1:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']  # Nagbabalik ng "0,5,9" - mga index na iki-click
        
        # Kung status == 'processing', ipagpatuloy ang loop
 
# Paggamit
image_base64 = 'iVBORw0KGgoAAAANSUhEUgAA...'  # Base64 encoded captcha image
question = 'Select all images with a bus'  # Full question text from the captcha prompt
grid_count = 4  # Bilang ng grid (3, 4, o 5)
solution = solve_recaptcha_phone(image_base64, question, grid_count, 'YOUR_API_KEY')
print('Grid indices to click:', solution)  # Halimbawa: "0,5,9"
 
# Gamitin ang solusyon upang i-click ang mga kaukulang cell
indices = [int(i) for i in solution.split(',')]
for index in indices:
    # I-click ang cell na may kaukulang index
    print(f'Click cell index: {index}')

Karaniwang Error Codes

Error CodePaglalarawanMga Tala
0successTagumpay
1processingPinoproseso
2missing required fieldsKulang ang mga kinakailangang field, suriin muli ang mga parameter
3task not supportedHindi suportado ang uri ng gawain
4task creation failedNabigo ang paglikha ng gawain
5client key does not existHindi umiiral ang API key, suriin muli ang API key
6insufficient account balanceHindi sapat ang balanse ng account, magdagdag ng credits
7task failed, please create a new taskNabigo ang gawain, mangyaring lumikha ng bagong gawain
8task ID does not existHindi umiiral ang Task ID

Pinakamahuhusay na Kasanayan

Para sa pinakamahusay na mga resulta kapag gumagamit ng Achicaptcha API, sundin ang mga prinsipyong ito:

1. Ihanda ang Captcha Image

  • I-capture ang captcha image display area nang malinaw, walang mga border o iba pang elemento ng UI
  • Isama lamang ang maliliit na square cells (grid) ng captcha
  • Imahe sa base64 format
  • Tiyaking may sapat na resolusyon ang imahe para sa pagkilala

2. Tukuyin ang Tumpak na Impormasyon

  • Kunin ang tanong mula sa bold text part ng captcha (halimbawa: "Select all images with a bus", "Select all squares with traffic lights")
  • Tukuyin ang tamang bilang ng grid (3x3, 4x4, o 5x5)
  • I-format ang other nang tama: "question|grid_count" (halimbawa: "Select all images with a bus|4")

3. Interval ng Polling

  • Maghintay ng hindi bababa sa 2-3 segundo sa pagitan ng mga pagsusuri ng resulta
  • Huwag i-spam ang API ng masyadong maraming magkakasunod na kahilingan
  • Magtakda ng timeout upang maiwasan ang mga infinite loop (inirerekomenda ang 120 segundo)

4. Iproseso ang mga Resulta

  • Ang solusyon na ibinalik ay isang string ng mga index na iki-click, na pinaghihiwalay ng mga kuwit (halimbawa: "0,5,9")
  • Ang index ay nagsisimula sa 0, nagbibilang mula kaliwa pakanan, itaas pababa
  • I-parse ang string at i-click ang mga kaukulang cell

5. Logic ng Pag-retry

  • Ipatupad ang retry para sa mga pansamantalang error tulad ng ERROR_NO_SLOT_AVAILABLE
  • Gumamit ng exponential backoff kapag nagre-retry
  • Limitahan ang maximum na mga pagsubok sa pag-retry

6. Seguridad ng API Key

  • Huwag i-hardcode ang API key sa code
  • Gumamit ng mga environment variable
  • Huwag ilantad ang API key sa client-side

Mga Kapaki-pakinabang na link: