Check proxy sống chết hàng loạt: từ công cụ web đến script tự động
Cập nhật:
Để check proxy sống chết hàng loạt, bạn chỉ cần gửi một yêu cầu nhỏ qua từng proxy tới một trang trả về IP, đặt thời gian chờ ngắn, rồi ghi lại proxy nào trả về đúng IP của nó, proxy nào lỗi và lỗi gì. Với vài chục proxy, một công cụ check trên web là đủ. Với hàng trăm proxy hoặc cần kiểm tra định kỳ, một vòng lặp curl hay script Python chạy song song sẽ nhanh và chính xác hơn. Bài này đưa ra cả ba cách, cách đọc kết quả, và việc nên làm khi thấy proxy chết.
Thế nào là proxy sống
Một proxy chỉ thật sự sống khi vượt qua đủ bốn điều kiện: kết nối được tới IP và port, xác thực user và mật khẩu thành công, mở được trang HTTPS qua đường hầm, và IP mà website thấy chính là IP proxy. Nhiều công cụ chỉ kiểm tra port có mở không, nên báo sống cho cả proxy sai mật khẩu.
Vì vậy hãy kiểm tra bằng một trang trả về IP qua HTTPS, và so sánh IP trả về với IP trong danh sách. Cách check một proxy đơn lẻ chi tiết có trong bài cách kiểm tra proxy; bài này tập trung vào kiểm tra hàng loạt.
Cách 1: công cụ check proxy trên web
Nhanh nhất cho người không dùng dòng lệnh. Dán danh sách theo định dạng ip:port:user:pass vào công cụ check proxy, mỗi dòng một proxy. Nếu danh sách của bạn đang ở định dạng khác như user:pass@ip:port, đổi trước bằng công cụ chuyển định dạng proxy.
Hạn chế của cách này là kết quả đo từ máy chủ của công cụ, không phải từ máy bạn. Proxy sống trên công cụ nhưng chết trên máy bạn thường là do mạng hoặc tường lửa phía bạn.
Cách 2: vòng lặp curl trên Linux hoặc macOS
Lưu danh sách vào file proxies.txt, mỗi dòng ip:port:user:pass, rồi chạy:
while IFS=: read ip port user pass; do r=$(curl -s -m 10 -x "http://$user:$pass@$ip:$port" https://api.ipify.org || echo FAIL); echo "$ip:$port -> $r"; done < proxies.txt
Mỗi dòng kết quả cho biết proxy và IP trả về. Nếu IP trả về trùng IP proxy, proxy sống. Nếu là FAIL, proxy không phản hồi trong 10 giây hoặc bị từ chối. Cách này chạy tuần tự nên chậm với danh sách dài, nhưng không cần cài gì thêm. Trên Windows, chạy trong WSL hoặc Git Bash.
Cách 3: script Python chạy song song
Với hàng trăm proxy, chạy song song giúp rút thời gian từ vài chục phút xuống còn vài phút. Ý tưởng của script gồm các bước sau, dùng thư viện requests và concurrent.futures có sẵn:
- Đọc file, tách mỗi dòng thành
ip, port, user, pw = line.strip().split(":"). - Tạo URL proxy
p = f"http://{user}:{pw}@{ip}:{port}"và gọirequests.get("https://api.ipify.org", proxies={"http": p, "https": p}, timeout=10). - Ghi lại thời gian phản hồi, IP trả về, và bắt riêng các loại lỗi:
ProxyError,ConnectTimeout,ReadTimeout, mã 407. - Chạy bằng
ThreadPoolExecutor(max_workers=20); không cần đặt quá cao, vì mục tiêu là kiểm tra chứ không phải tạo tải. - Xuất kết quả ra CSV với các cột proxy, trạng thái, IP trả về, thời gian phản hồi để lọc và so sánh.
| Kết quả | Ý nghĩa | Việc nên làm |
|---|---|---|
| IP trả về khớp IP proxy | Proxy sống | Ghi lại thời gian phản hồi để theo dõi |
| 407 | Proxy sống nhưng sai user hoặc mật khẩu | Kiểm tra lại thông tin xác thực |
| Connection refused | Port không mở hoặc proxy hết hạn | Kiểm tra hạn trên dashboard |
| Timeout | Không phản hồi trong thời gian chờ | Kiểm tra lại sau, thử từ mạng khác |
| IP trả về khác IP proxy | Đi qua IP khác hoặc cấu hình sai | Kiểm tra lại định dạng và quy tắc bỏ qua proxy |
Kiểm tra định kỳ cho danh sách đang dùng
Nếu bạn chạy tool hoặc quản lý nhiều tài khoản, kiểm tra mỗi ngày một lần hoặc trước mỗi đợt chạy lớn là đủ. Đừng kiểm tra quá dày, vì gửi liên tục yêu cầu tới cùng một trang kiểm tra IP cũng là lưu lượng không cần thiết. Lưu lịch sử kết quả để phân biệt proxy chết hẳn với proxy chỉ chập chờn trong một lần đo. Cách tổ chức danh sách lớn, loại bỏ và thay thế IP có trong bài quản lý pool proxy.
Thấy proxy chết thì làm gì
- Kiểm tra lại từ mạng khác trước khi kết luận. Một lần timeout chưa đủ để gọi là chết.
- Xem hạn sử dụng trên dashboard. Proxy hết hạn sẽ ngừng hoạt động; gia hạn trước khi hết hạn để giữ nguyên IP.
- Kiểm tra lỗi 407 riêng: đây là lỗi thông tin xác thực, không phải proxy chết. Xem lỗi 407.
- Gửi ticket kèm danh sách IP lỗi, loại lỗi và thời điểm kiểm tra nếu proxy còn hạn mà vẫn không hoạt động. Lỗi kỹ thuật được xử lý theo chính sách hoàn tiền.
Câu hỏi thường gặp
Check proxy sống bằng ping có được không?
Không đủ. Ping chỉ cho biết máy chủ có trả lời gói ICMP, không kiểm tra port, xác thực hay khả năng mở trang HTTPS. Một số máy chủ còn tắt ping.
Nên đặt thời gian chờ bao nhiêu khi check hàng loạt?
Khoảng 10 đến 15 giây là hợp lý cho kiểm tra sống chết. Quá ngắn sẽ báo nhầm proxy ở xa là chết, quá dài làm cả lượt kiểm tra chậm.
Proxy check sống nhưng vẫn không dùng được trên website?
Proxy sống không có nghĩa website đích chấp nhận IP đó. Kiểm tra thêm với chính website bạn cần, và xem bài về website chặn proxy.
Có nên chạy hàng trăm luồng khi check không?
Không cần. Khoảng 10 đến 20 luồng đủ nhanh cho vài trăm proxy và không tạo tải bất thường lên trang kiểm tra.
Proxy sai định dạng có báo chết không?
Có. Sai thứ tự user và mật khẩu hoặc thiếu port sẽ khiến công cụ báo lỗi. Chuẩn hoá danh sách về ip:port:user:pass trước khi check.
Proxy riêng, kiểm tra dễ dàng
Mỗi IP chỉ cấp cho một khách, định dạng ip:port:user:pass chuẩn, không giới hạn băng thông, hỗ trợ ticket 24/7.
Xem bảng giá