Hướng Dẫn Thực Hành

Sử dụng Fiddler để kiểm tra lưu lượng API CaptchaAI

Khi giải quyết CAPTCHA không thành công và nhật ký của bạn không hiển thị đủ chi tiết, việc chặn lưu lượng HTTP thực tế sẽ tiết lộ điều gì đang xảy ra. Fiddler nắm bắt mọi yêu cầu và phản hồi giữa mã của bạn và API CaptchaAI, cho phép bạn xem tải trọng, tiêu đề và thời gian chính xác.

Khi nào nên sử dụng Fiddler để gỡ lỗi

Kịch bản Những gì Fiddler tiết lộ
API trả về lỗi nhưng nhật ký mã của bạn thưa thớt Toàn bộ nội dung, tiêu đề và phản hồi của yêu cầu
Giải quyết các yêu cầu dường như bị treo Cho dù các yêu cầu đang đến máy chủ hay hết thời gian chờ
Mã thông báo xuất hiện không hợp lệ khi được tiêm Nội dung mã thông báo chính xác và mọi vấn đề về mã hóa
Lỗi liên quan đến proxy Liệu các yêu cầu có định tuyến thông qua proxy dự kiến hay không
Vấn đề giới hạn tỷ lệ Yêu cầu thời gian và 429 mẫu phản hồi

Thiết lập Fiddler cho lưu lượng HTTPS

Bước 1: Cài đặt và định cấu hình giải mã HTTPS

Fiddler hoạt động như một proxy cục bộ chặn lưu lượng HTTPS. Bạn cần bật giải mã HTTPS để xem tải trọng API CaptchaAI:

Cây đàn ở mọi nơi:

  1. Mở Cài đặt †’ HTTPS
  2. Bật "Thu thập lưu lượng HTTPS"
  3. Cài đặt chứng chỉ gốc Fiddler khi được nhắc
  4. Tin cậy chứng chỉ trong kho chứng chỉ hệ điều hành của bạn

Fiddler cổ điển (Windows):

  1. Công cụ -> Tùy chọn -> HTTPS
  2. Kiểm tra "Giải mã lưu lượng HTTPS"
  3. Nhấp vào "Hành động" †' "Chứng chỉ gốc tin cậy"

Bước 2: Định cấu hình mã của bạn để sử dụng Proxy của Fiddler

Fiddler nghe trên 127.0.0.1:8866 (Fiddler Everywhere) hoặc 127.0.0.1:8888 (Fiddler Classic).

Python (yêu cầu):

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 với 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();

Lưu ý: verify=False (Python) tắt xác minh SSL cho chứng chỉ chặn của Fiddler. Chỉ sử dụng điều này trong quá trình gỡ lỗi - loại bỏ nó trong quá trình sản xuất.

Lọc lưu lượng truy cập CaptchaAI

Thêm bộ lọc để chỉ xem các yêu cầu CaptchaAI trong phiên bận.

Bộ lọc Fiddler ở mọi nơi

  1. Nhấp vào tab Bộ lọc
  2. Thêm quy tắc: Máy chủ -> contains -> ocr.captchaai.com
  3. Áp dụng bộ lọc

Bộ lọc cổ điển Fiddler

  1. Nhấp vào tab Bộ lọc
  2. Kiểm tra "Sử dụng bộ lọc"
  3. Trong "Máy chủ", chọn "Chỉ hiển thị các Máy chủ sau"
  4. Nhập: ocr.captchaai.com

Bây giờ chỉ có các yêu cầu API CaptchaAI xuất hiện trong danh sách phiên.

Kiểm tra yêu cầu và phản hồi

Gửi yêu cầu (in.php)

Khi bạn nắm bắt một nhiệm vụ được gửi, hãy kiểm tra các trường này trong Fiddler:

bảng điều khiển Những gì cần kiểm tra
Tiêu đề Loại nội dung phải là application/x-www-form-urlencoded
Nội dung yêu cầu Xác minh key, method, googlekey/3ZZ, pageurl là chính xác
Nội dung phản hồi Nên trả lại {"status":1,"request":"TASK_ID"} khi thành công
Mã phản hồi 200 = OK, 403 = vấn đề chính, 429 = tốc độ giới hạn

Yêu cầu thăm dò ý kiến (res.php)

Khi bỏ phiếu lấy kết quả:

bảng điều khiển Những gì cần kiểm tra
Nội dung yêu cầu key, action=get, id=TASK_ID, json=1
Nội dung phản hồi CAPCHA_NOT_READY trong khi xử lý, {"status":1,"request":"TOKEN"} thành công
Thời gian Kiểm tra khoảng thời gian giữa các cuộc thăm dò - phải trên 5 giây

Các vấn đề thường gặp có thể nhìn thấy trong Fiddler

Những gì bạn thấy Ý nghĩa
Nội dung yêu cầu có googlekey trống Trích xuất khóa trang web không thành công ở thượng nguồn
Phản hồi: {"status":0,"request":"ERROR_WRONG_USER_KEY"} Khóa API không hợp lệ
Phản hồi: {"status":0,"request":"ERROR_ZERO_BALANCE"} Tài khoản không có tiền
Phản hồi: {"status":0,"request":"ERROR_NO_SLOT_AVAILABLE"} Máy chủ bận - thử lại
Không có phản hồi (hết thời gian) Network/proxy chặn kết nối
429 mã trạng thái Quá nhiều yêu cầu - làm chậm quá trình bỏ phiếu

Sử dụng điểm dừng

Điểm dừng tạm dừng yêu cầu trước khi chúng được gửi, cho phép bạn sửa đổi chúng:

Đặt điểm dừng

Cây đàn ở mọi nơi:

  1. Quy tắc †’ Thêm quy tắc
  2. Trùng khớp: URL chứa ocr.captchaai.com/in.php
  3. Hành động: "Tạm dừng trước khi gửi"

Cây vĩ cầm cổ điển:

  1. Quy tắc -> Điểm dừng tự động -> Trước khi yêu cầu
  2. Hoặc gõ bpu ocr.captchaai.com vào thanh QuickExec

Phải làm gì tại điểm dừng

Khi một yêu cầu bị tạm dừng:

  1. Kiểm tra nội dung yêu cầu - xác minh tất cả các tham số đều chính xác
  2. Chỉnh sửa tham số – thay đổi method, googlekey hoặc pageurl để kiểm tra các giá trị khác nhau
  3. Tiếp tục - nhấp vào "Chạy để hoàn thành" để gửi yêu cầu đã sửa đổi
  4. Kiểm tra phản hồi - xem thay đổi của bạn có khắc phục được sự cố không

Điều này rất hữu ích để kiểm tra xem giá trị tham số có gây ra lỗi khi không thay đổi mã hay không.

Phát lại các yêu cầu không thành công

Khi yêu cầu không thành công, bạn có thể phát lại yêu cầu đó từ Fiddler:

  1. Nhấp chuột phải vào phiên không thành công
  2. Chọn Phát lạiYêu cầu phát hành lại
  3. Yêu cầu tương tự được gửi lại với tiêu đề và nội dung giống hệt nhau

Để phát lại với các sửa đổi:

  1. Nhấp chuột phải -> Chỉnh sửa trong Composer
  2. Sửa đổi các thông số
  3. Nhấp vào Thực thi

Điều này cho phép bạn kiểm tra các bản sửa lỗi mà không cần khởi động lại ứng dụng của mình.

Soạn yêu cầu kiểm tra

Sử dụng Trình soạn thảo của Fiddler để xây dựng các yêu cầu CaptchaAI từ đầu:

Nộp nhiệm vụ:

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

Kết quả bỏ phiếu:

GET https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=TASK_ID&json=1

Việc này nhanh hơn việc viết mã khi bạn chỉ muốn xác minh API đang hoạt động.

Phân tích thời gian

Chế độ xem Dòng thời gian của Fiddler hiển thị thời lượng yêu cầu:

Số liệu Giá trị lành mạnh Chỉ báo sự cố
tra cứu DNS < 50 mili giây > 500ms = Sự cố DNS
kết nối TCP < 100 mili giây > 1000ms = sự cố mạng
Bắt tay TLS < 200 mili giây > 1000ms = vấn đề về chứng chỉ
Phản hồi của máy chủ (in.php) < 500 mili giây > 2000ms = tắc nghẽn máy chủ
Phản hồi của máy chủ (res.php) < 200 mili giây > 1000ms = bất thường – kiểm tra trạng thái

Xuất phiên để hỗ trợ

Nếu bạn cần chia sẻ dữ liệu gỡ lỗi với bộ phận hỗ trợ CaptchaAI:

  1. Chọn các phiên có liên quan trong Fiddler
  2. Tệp -> Phiên xuất -> Phiên đã chọn
  3. Chọn định dạng HTTPArchive (.har)
  4. Xóa khóa API của bạn khỏi tệp đã xuất trước khi chia sẻ
Find and replace your actual API key with "REDACTED" in the .har file

Khắc phục sự cố

Vấn đề Nguyên nhân Cách xử lý
Fiddler không có giao thông Mã không định tuyến qua proxy của Fiddler Đặt proxy thành 127.0.0.1:8866 (Mọi nơi) hoặc 8888 (Cổ điển)
Lỗi chứng chỉ SSL Chứng chỉ gốc của Fiddler không đáng tin cậy Cài đặt lại chứng chỉ Fiddler; thêm vào nguồn gốc đáng tin cậy
Fiddler hiển thị nội dung phản hồi bị cắt xén Phản hồi được nén Bật nút "Giải mã" trên thanh công cụ (hoặc Quy tắc -> Xóa tất cả mã hóa)
Điểm dừng không kích hoạt Bộ lọc hoặc quy tắc không khớp Xác minh mẫu URL khớp chính xác với ocr.captchaai.com
Giao thông xuất hiện nhưng nội dung trống rỗng Độ dài nội dung không khớp hoặc phản hồi phát trực tuyến Nhấp vào phiên và đợi phản hồi đầy đủ để tải

Câu hỏi thường gặp

Việc sử dụng Fiddler có ảnh hưởng đến thời gian giải quyết CAPTCHA không?

Tối thiểu. Fiddler thêm độ trễ ~1-5 mili giây cho mỗi yêu cầu do bước nhảy proxy. Điều này không đáng kể so với thời gian giải CAPTCHA (10–60 giây). Để gỡ lỗi quan trọng về thời gian, hãy lưu ý rằng dấu thời gian của Fiddler phản ánh thời điểm Fiddler nhận được dữ liệu chứ không phải thời điểm mã của bạn gửi dữ liệu đó.

Tôi có thể sử dụng Fiddler để giải CAPTCHA dựa trên trình duyệt không?

Vâng. Định cấu hình trình duyệt của bạn để sử dụng Fiddler làm proxy và bạn sẽ thấy tất cả các yêu cầu liên quan đến CAPTCHA — bao gồm tải tiện ích, truy xuất thử thách và gửi mã thông báo. Điều này rất hữu ích để hiểu toàn bộ vòng đời của CAPTCHA.

Tôi nên sử dụng Fiddler Classic hay Fiddler Everywhere?

Fiddler Everywhere là nền tảng đa nền tảng (Windows, macOS, Linux) với giao diện người dùng hiện đại. Fiddler Classic chỉ dành cho Windows nhưng có nhiều khả năng tạo tập lệnh nâng cao hơn (FiddlerScript). Để gỡ lỗi CaptchaAI cơ bản, cả hai đều hoạt động.

bài viết liên quan

Các bước tiếp theo

Xóa thông báo lỗi API giúp gỡ lỗi nhanh hơn —bắt đầu với CaptchaAIvà sử dụng Fiddler khi bạn cần kiểm tra mức độ yêu cầu sâu hơn.

Hướng dẫn liên quan:

Os comentários estão desativados para este artigo.