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.

1. Lumikha ng Gawain
Request
POST https://api.achicaptcha.com/createTask
Mga Parameter
| Pangalan ng Parameter | Uri ng Data | Kailangan? | Paglalarawan |
|---|---|---|---|
clientKey | string | oo | Api key |
task.type | string | oo | ReCaptchaPhoneTask |
task.subType | string | oo | Value ay katumbas ng 0 |
task.image | string | oo | Captcha image sa base64 format, i-capture ang captcha image display area (walang border, maliliit na square cells lang) |
task.other | string | oo | Tanong|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 Parameter | Uri ng Data | Kailangan? | Paglalarawan |
|---|---|---|---|
clientKey | string | oo | Api key |
taskId | string | oo | TaskId 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 sasolutionerrorId = 1: Nilulutas ang captcha, maghintay ng 2-3 segundo at subukang mulierrorId > 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 Code | Paglalarawan | Mga Tala |
|---|---|---|
| 0 | success | Tagumpay |
| 1 | processing | Pinoproseso |
| 2 | missing required fields | Kulang ang mga kinakailangang field, suriin muli ang mga parameter |
| 3 | task not supported | Hindi suportado ang uri ng gawain |
| 4 | task creation failed | Nabigo ang paglikha ng gawain |
| 5 | client key does not exist | Hindi umiiral ang API key, suriin muli ang API key |
| 6 | insufficient account balance | Hindi sapat ang balanse ng account, magdagdag ng credits |
| 7 | task failed, please create a new task | Nabigo ang gawain, mangyaring lumikha ng bagong gawain |
| 8 | task ID does not exist | Hindi 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
othernang 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: