Log aplikasi Anda cuma menulis "solve gagal", tanpa detail apa pun — padahal penyebabnya bisa macam-macam: payload salah bentuk, sitekey kosong, atau proxy yang diam-diam memblokir koneksi. Menambah print() jarang menjawab ini secepat melihat langsung traffic HTTP yang dikirim dan diterima. Fiddler melakukan persis itu: menangkap tiap request dan respons antara kode Anda dan API CaptchaAI, lengkap header, payload mentah, dan timing presisi milidetik.
Fiddler layak dikeluarkan begitu Anda menghadapi salah satu dari ini:
- Error API, log minim — request lengkap, header, dan respons apa adanya
- Request solve macet — apakah request sampai ke server atau timeout
- Token tidak valid — isi token sebenarnya dan potensi masalah encoding
- Dicurigai gara-gara proxy — apakah request di-route lewat proxy yang Anda set
- Kena rate limit — timing tiap request dan pola respons 429
Setup Fiddler untuk Traffic HTTPS CaptchaAI
Langkah 1: Aktifkan Dekripsi HTTPS
Fiddler bekerja sebagai proxy lokal yang mengintersepsi traffic HTTPS. Aktifkan dekripsi HTTPS lebih dulu — tanpa ini, payload API CaptchaAI hanya akan tampil terenkripsi dan tidak terbaca:
| Langkah | Fiddler Everywhere | Fiddler Classic (Windows) |
|---|---|---|
| 1 | Settings → HTTPS | Tools → Options → HTTPS |
| 2 | Aktifkan "Capture HTTPS traffic" | Centang "Decrypt HTTPS traffic" |
| 3 | Instal sertifikat root saat diminta | Klik "Actions" → "Trust Root Certificate" |
| 4 | Percayai sertifikat itu di certificate store OS Anda | — |
Langkah 2: Arahkan Kode Anda ke Proxy Fiddler
Fiddler mendengarkan di 127.0.0.1:8866 (Fiddler Everywhere) atau 127.0.0.1:8888 (Fiddler Classic). Set proxy ini di HTTP client Anda sebelum mengirim request ke CaptchaAI:
Python (requests):
import requests
proxies = {
"http": "http://127.0.0.1:8866",
"https": "http://127.0.0.1:8866",
}
# Submit CAPTCHA task through Fiddler
response = requests.post(
"https://ocr.captchaai.com/in.php",
data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
},
proxies=proxies,
verify=False, # Required for Fiddler's self-signed cert
)
print(response.json())
JavaScript (Node.js dengan axios):
const axios = require("axios");
const HttpsProxyAgent = require("https-proxy-agent");
const agent = new HttpsProxyAgent("http://127.0.0.1:8866");
async function submitTask() {
const response = await axios.post(
"https://ocr.captchaai.com/in.php",
new URLSearchParams({
key: "YOUR_API_KEY",
method: "userrecaptcha",
googlekey: "SITE_KEY",
pageurl: "https://example.com",
json: 1,
}),
{
httpsAgent: agent,
proxy: false, // Disable axios default proxy handling
}
);
console.log(response.data);
}
submitTask();
Catatan:
verify=False(Python) menonaktifkan verifikasi SSL untuk sertifikat intersepsi Fiddler. Ini aman untuk sesi debugging lokal, tapi jangan sampai terbawa ke kode produksi — hapus baris ini begitu selesai.
Filter Supaya Hanya Traffic CaptchaAI yang Tampil
Kalau aplikasi Anda punya banyak request keluar, tambahkan filter dulu supaya sesi CaptchaAI tidak tenggelam di antara request lain:
| Langkah | Fiddler Everywhere | Fiddler Classic |
|---|---|---|
| 1 | Klik tab Filters | Klik tab Filters, centang "Use Filters" |
| 2 | Tambahkan rule: Host → contains → ocr.captchaai.com |
Di "Hosts", pilih "Show only the following Hosts" |
| 3 | Terapkan filter | Masukkan ocr.captchaai.com |
Sekarang hanya request ke API CaptchaAI yang tampil di daftar sesi.
Membaca Request dan Respons CaptchaAI di Fiddler
Dua fase yang perlu diperiksa: kirim task (in.php) dan polling hasil (res.php):
| Fase | Panel | Yang Harus Diperiksa |
|---|---|---|
in.php |
Headers | Content-Type harus application/x-www-form-urlencoded |
in.php |
Request Body | Pastikan key, method, googlekey/sitekey, pageurl sudah benar |
in.php |
Response Body | Harus mengembalikan {"status":1,"request":"TASK_ID"} kalau berhasil |
in.php |
Response Code | 200 = OK, 403 = masalah API key, 429 = kena rate limit |
res.php |
Request Body | key, action=get, id=TASK_ID, json=1 |
res.php |
Response Body | CAPCHA_NOT_READY selama diproses, {"status":1,"request":"TOKEN"} kalau selesai |
res.php |
Timing | Interval antar polling — idealnya 5 detik ke atas |
Pola masalah yang paling sering muncul di Fiddler
| Yang Anda Lihat | Artinya |
|---|---|
Request body punya googlekey kosong |
Ekstraksi sitekey gagal di kode Anda, sebelum request dikirim |
Respons: {"status":0,"request":"ERROR_WRONG_USER_KEY"} |
API key tidak valid |
Respons: {"status":0,"request":"ERROR_ZERO_BALANCE"} |
Saldo akun habis |
Respons: {"status":0,"request":"ERROR_NO_SLOT_AVAILABLE"} |
Server sedang penuh — coba ulang |
| Tidak ada respons sama sekali (timeout) | Network atau proxy memblokir koneksi |
| Kode status 429 | Terlalu banyak request — perlambat polling |
Pakai Breakpoint untuk Uji Coba Parameter
Breakpoint menahan request sebelum dikirim, jadi Anda bisa mengubah isinya dulu:
| Fiddler Everywhere | Fiddler Classic | |
|---|---|---|
| Set breakpoint | Rules → Add Rule, match URL contains ocr.captchaai.com/in.php, action "Pause before sending" |
Rules → Automatic Breakpoints → Before Requests, atau ketik bpu ocr.captchaai.com di QuickExec bar |
Begitu request tertahan, periksa request body-nya, lalu edit method, googlekey, atau pageurl untuk mencoba nilai lain. Klik "Run to Completion" untuk mengirim request yang sudah dimodifikasi, lalu cek respons yang kembali. Cara ini berguna untuk menguji parameter mana yang bikin gagal, tanpa mengubah kode.
Replay Request yang Gagal Tanpa Restart Aplikasi
Kalau ada request yang gagal, Fiddler bisa mengirimnya ulang tanpa Anda perlu menyentuh kode sama sekali.
Replay langsung, tanpa perubahan
- Klik kanan pada sesi yang gagal
- Pilih Replay → Reissue Requests
- Request yang sama dikirim ulang, dengan header dan body identik
Replay sambil mengubah parameter
- Klik kanan → Edit in Composer
- Ubah parameter yang diinginkan
- Klik Execute
Dengan begini Anda menguji perbaikan tanpa restart aplikasi.
Susun Request Manual di Composer
Pakai Composer Fiddler untuk membuat request CaptchaAI dari nol — berguna untuk memastikan apakah API-nya yang bermasalah, bukan kode Anda.
Submit task:
POST https://ocr.captchaai.com/in.php
Content-Type: application/x-www-form-urlencoded
key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&json=1
Polling hasil:
GET https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=TASK_ID&json=1
Ganti
YOUR_API_KEY,SITE_KEY, danTASK_IDdengan nilai asli. Cara ini lebih cepat daripada menulis kode kalau Anda cuma ingin memverifikasi API-nya berfungsi normal.
Baca Timing di Tab Timeline
Tab Timeline Fiddler menunjukkan durasi tiap fase request:
| Metrik | Nilai Sehat | Indikasi Masalah |
|---|---|---|
| DNS lookup | < 50 ms | > 500 ms = masalah DNS |
| TCP connect | < 100 ms | > 1000 ms = masalah jaringan |
| TLS handshake | < 200 ms | > 1000 ms = masalah sertifikat |
| Server response (in.php) | < 500 ms | > 2000 ms = server sedang padat |
| Server response (res.php) | < 200 ms | > 1000 ms = tidak biasa, cek status akun |
Konteks region: server di Asia Tenggara — AWS
ap-southeast-1/ap-southeast-3atau GCPasia-southeast2(Jakarta) — biasanya punya DNS lookup dan TCP connect lebih rendah dari baseline global karena jarak ke edge server lebih dekat. Kalau TCP connect Anda tetap tembus 500 ms, curigai dulu ISP atau proxy sebelum menuduh sisi CaptchaAI.
Masalah Fiddler yang Sering Ditemui
| Masalah | Penyebab | Perbaikan |
|---|---|---|
| Fiddler tidak menampilkan traffic | Kode tidak di-route lewat proxy Fiddler | Set proxy ke 127.0.0.1:8866 (Everywhere) atau 8888 (Classic) |
| Error sertifikat SSL | Sertifikat root Fiddler belum dipercaya | Install ulang sertifikat; tambahkan ke trusted roots |
| Response body berantakan | Respons dikompresi | Aktifkan "Decode" di toolbar (atau Rules → Remove All Encodings) |
| Breakpoint tidak terpicu | Filter atau rule tidak cocok | Pastikan pola URL persis sama dengan ocr.captchaai.com |
| Traffic muncul, body kosong | Content-Length tidak cocok, atau streaming | Klik sesi, tunggu respons penuh dimuat |
Export Session untuk Dikirim ke Support CaptchaAI
Kalau Anda perlu berbagi data debug dengan support CaptchaAI:
- Pilih sesi yang relevan di Fiddler
- File → Export Sessions → Selected Sessions
- Pilih format HTTPArchive (.har)
- Hapus API key Anda dari file yang diekspor sebelum dibagikan
Cari dan ganti API key aktual Anda dengan "REDACTED" di file .har
Pertanyaan Umum
Apakah pakai Fiddler bikin solve CAPTCHA jadi lebih lambat?
Minimal, hampir tidak terasa. Fiddler menambah sekitar 1–5 ms latensi per request karena proxy hop tambahan — kecil sekali dibanding waktu solve CAPTCHA yang normalnya 10–60 detik. Satu catatan: timestamp Fiddler mencatat kapan Fiddler menerima data, bukan kapan kode Anda mengirimnya — jangan jadikan itu satu-satunya sumber timing presisi.
Amankah pakai Fiddler untuk debug traffic API yang sedang jalan di production?
Boleh, asal API key dan data sensitif tidak ikut ter-share. Nonaktifkan verify=False begitu sesi debug selesai, jangan biarkan proxy Fiddler menyala permanen di server production, dan selalu redact API key sebelum mengirim file .har ke siapa pun.
Bisakah Fiddler dipakai untuk debug integrasi callback/webhook CaptchaAI, bukan cuma alur polling res.php?
Bisa, dengan catatan. Fiddler paling kuat untuk traffic yang Anda inisiasi sendiri (outbound) — kalau server Anda memanggil endpoint lain setelah menerima callback, Fiddler menangkapnya dengan baik. Untuk payload callback yang masuk, pasangkan Fiddler dengan logging di endpoint itu sendiri.
Bagaimana cara memastikan API key tidak ikut terbawa saat file .har dibagikan ke tim?
Sebelum membagikan file .har, buka dengan text editor dan cari-ganti (find & replace) string API key Anda dengan placeholder seperti REDACTED. Beberapa versi Fiddler punya opsi export yang menyamarkan header otomatis, tapi tetap verifikasi manual sebelum file dikirim lewat channel yang tidak terenkripsi seperti email atau chat grup.
Artikel Terkait
Setelah traffic-nya jelas, dua isu yang paling sering menyusul adalah keamanan API key dan pembacaan kode error:
- Cara whitelist IP dan amankan API key CaptchaAI
- Kapan dan bagaimana rotasi API key CaptchaAI
- Daftar lengkap kode error CaptchaAI
Langkah Selanjutnya
Tidak semua masalah solve butuh investigasi sedalam ini — mulai dari API key CaptchaAI Anda dan simpan Fiddler untuk kasus yang butuh inspeksi sampai level byte.
Panduan terkait: