Skip to content
API
ReCAPTCHA
Token

ReCAPTCHA

Pangkalahatang-ideya

Ang Google reCAPTCHA ay ang pinakasikat na sistema ng captcha sa mundo, na ginagamit ng milyun-milyong website upang protektahan laban sa spam at mga bot. Kasalukuyang sinusuportahan ng Achicaptcha ang reCAPTCHA v2 na may mataas na rate ng tagumpay.

⚠️

Sa kasalukuyan, sinusuportahan lamang ng Achicaptcha ang reCAPTCHA v2. Ang reCAPTCHA v3 at Enterprise ay hindi pa suportado.

ReCAPTCHA

1. Lumikha ng Gawain

Request

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

Mga Parameter

Pangalan ng ParameterUri ng DataKailangan?Paglalarawan
clientKeystringooApi key
task.typestringooRecaptchaV2TaskProxyless para sa napakabilis na paglutas
RecaptchaV2TaskProxylessNormal para sa normal na paglutas
task.websiteURLstringooURL ng website na naglalaman ng captcha
task.websiteKeystringooreCAPTCHA sitekey

Halimbawa ng Request

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
  }
}

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": "03AGdBq27QGA96FJRo3mtz..."
}

Paliwanag sa Status

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

Mga Halimbawa ng Integrasyon

import requests
import time
 
def solve_recaptcha_v2(website_url, website_key, 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': 'RecaptchaV2TaskProxyless',
            'websiteURL': website_url,
            'websiteKey': website_key
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] != 0:
        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 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'] != 0:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']
        
        # Kung status == 'processing', ipagpatuloy ang loop
 
# Paggamit
website_url = 'https://www.google.com/recaptcha/api2/demo'
website_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
token = solve_recaptcha_v2(website_url, website_key, 'YOUR_API_KEY')
print('reCAPTCHA token:', token)

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. I-validate ang Site Key

  • Suriin ang site key bago magpadala ng request
  • Tiyaking tumpak ang site key na nakuha mula sa data-sitekey attribute
  • I-verify na ang website URL ay tumutugma sa page na naglalaman ng captcha

2. Hawakan ang mga Timeout

  • Ang token ay may oras ng pag-expire (karaniwang 120 segundo)
  • Gamitin ang token kaagad pagkatapos matanggap
  • Huwag i-cache ang token nang masyadong matagal

3. Interval ng Polling

  • Maghintay ng hindi bababa sa 2 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. 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

5. 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: