Facebook Captcha
Ringkasan
Facebook Captcha adalah sistem keamanan yang digunakan oleh Facebook untuk mencegah spam, bot, dan aktivitas otomatis yang tidak diinginkan. Ini adalah captcha teks dengan font khas Facebook.
📘
Facebook Captcha biasanya muncul saat login, mendaftar akun baru, atau ketika Facebook mendeteksi aktivitas tidak biasa dari akun Anda.

1. Buat Request
Request
POST https://api.achicaptcha.com/createTask
Parameter
| Nama parameter | Tipe data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | Api key |
task.type | string | ya | ImageToTextTask |
task.image | string | ya | base64 dari gambar captcha Facebook |
task.subType | string | ya |
Contoh Request
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ImageToTextTask",
"image": "base64 encoded Facebook captcha image",
"subType": "facebook"
}
}Response
Khi berhasil, server mengembalikan errorId = 0 dan taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Dapatkan Hasil
Request
POST https://api.achicaptcha.com/getTaskResult
Parameter
| Nama parameter | Tipe data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | Api key |
taskId | string | ya | TaskId dari (1) |
Contoh 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": "2m7k8x"
}Penjelasan Status
errorId = 0danstatus = ready: Berhasil dipecahkan, baca hasil disolutionerrorId = 0danstatus = processing: Sedang memecahkan captcha, tunggu 2 detik dan coba lagierrorId > 0: Error sistem, mengembalikan kode error dan deskripsi
Contoh Integrasi
import requests
import time
import base64
def solve_facebook_captcha(image_path, api_key='YOUR_API_KEY'):
# Baca dan encode gambar
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Langkah 1: Buat task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': 'facebook'
}
}
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']
# Langkah 2: Dapatkan hasil
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Tunggu 2 detik
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']
# Jika status == 'processing', lanjutkan loop
# Penggunaan
solution = solve_facebook_captcha('facebook_captcha.png', 'YOUR_API_KEY')
print('Hasil Facebook captcha:', solution)Kode Error Umum
| Kode Error | Deskripsi | Catatan |
|---|---|---|
| 0 | sukses | Berhasil |
| 1 | sedang diproses | Sedang diproses |
| 2 | field wajib tidak ada | Field wajib tidak ada, periksa parameter lagi |
| 3 | task tidak didukung | Tipe task tidak didukung |
| 4 | pembuatan task gagal | Pembuatan task gagal |
| 5 | client key tidak ada | API key tidak ada, periksa API key lagi |
| 6 | saldo akun tidak cukup | Saldo akun tidak cukup, isi ulang credits |
| 7 | task gagal, silakan buat task baru | Task gagal, silakan buat task baru |
| 8 | task ID tidak ada | Task ID tidak ada |
Praktik Terbaik
Untuk mencapai hasil terbaik saat menggunakan Achicaptcha API, ikuti prinsip-prinsip berikut:
1. Kualitas Gambar
- Gunakan gambar beresolusi tinggi
- Pastikan gambar tidak terlalu buram atau berisik
- Tangkap atau potong area captcha Facebook yang benar
2. Interval Polling
- Tunggu setidaknya 2 detik antara pemeriksaan hasil
- Jangan spam API dengan terlalu banyak permintaan berturut-turut
- Miliki timeout untuk menghindari loop tak terbatas
3. Logika Coba lại
- Terapkan coba lagi untuk kesalahan sementara seperti
ERROR_NO_SLOT_AVAILABLE - Gunakan exponential backoff saat mencoba lagi
- Batasi jumlah maksimum percobaan ulang
4. Keamanan API Key
- Jangan hardcode API key dalam kode
- Gunakan variabel lingkungan
- Jangan ekspos API key di sisi klien
Link Berguna: