Cách vượt qua CAPTCHA bằng Python#

Giới thiệu về CAPTCHA#

CAPTCHA là tên viết tắt của "Bài kiểm tra Turing công cộng hoàn toàn tự động để phân biệt máy tính và con người", đây là bài kiểm tra Turing phân biệt hoàn toàn tự động giữa máy tính và con người. Đây là một thử nghiệm được sử dụng để xác nhận xem khách truy cập trang web có phải là người thật hay không chứ không phải chương trình tự động như bot hoặc phần mềm độc hại. CAPTCHA thường được hiển thị cho người dùng dưới dạng hình ảnh và yêu cầu người dùng nhập các từ hoặc số họ nhìn thấy vào hộp văn bản. Loại thử nghiệm này tận dụng khả năng nhận dạng hình ảnh và văn bản của con người để đảm bảo tính bảo mật của trang web và ngăn chặn các cuộc tấn công độc hại cũng như hoạt động tự động.

Chuẩn bị môi trường#

Bạn có thể cài đặt NextCaptcha Python SDK bằng pip:
pip install nextcaptcha-python

cách sử dụng#

Để bắt đầu sử dụng NextCaptcha Python SDK, trước tiên bạn cần lấy khóa API (clientKey) từ bảng điều khiển NextCaptcha. Sau đó, bạn có thể tạo phiên bản NextCaptchaAPI:
from nextcaptcha import NextCaptchaAPI
 
api = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Giờ đây, bạn có thể sử dụng các đối tượng API để giải quyết nhiều loại hình ảnh xác thực khác nhau. Để giải quyết thử thách reCAPTCHA v2, hãy sử dụng phương pháp recaptchav2:
result = api.recaptchav2(website_url="https://example.com", website_key="SITE_KEY")
Giải quyết reCAPTCHA v2 Enterprise Để giải quyết các thử thách reCAPTCHA v2 Enterprise, hãy sử dụng phương pháp recaptchav2enterprise:
result = api.recaptchav2enterprise(website_url="https://example.com", website_key="SITE_KEY")
Giải quyết reCAPTCHA v3 Để giải quyết các thử thách reCAPTCHA v3, hãy sử dụng phương pháp recaptchav3:
result = api.recaptchav3(website_url="https://example.com", website_key="SITE_KEY")
Giải quyết reCAPTCHA Mobile Để giải quyết thử thách reCAPTCHA Mobile, hãy sử dụng phương pháp recaptcha_mobile:
result = api.recaptcha_mobile(app_key="APP_KEY")
Giải quyết hCaptcha Để giải quyết các thử thách hCaptcha, hãy sử dụng phương pháp hcaptcha:
result = api.hcaptcha(website_url="https://example.com", website_key="SITE_KEY")
Giải quyết hCaptcha Enterprise Để giải quyết các thách thức của hCaptcha Enterprise, hãy sử dụng phương pháp hcaptcha_enterprise:
result = api.hcaptcha_enterprise(website_url="https://example.com", website_key="SITE_KEY")
Giải quyết FunCaptcha Để giải quyết thử thách FunCaptcha, hãy sử dụng phương pháp funcaptcha:
result = api.funcaptcha(website_public_key="WEBSITE_PUBLIC_KEY")
Kiểm tra số dư tài khoản Để kiểm tra số dư tài khoản NextCaptcha của bạn, hãy sử dụng phương thức get_balance:
balance = api.get_balance()
print(f"Account balance: {balance}")
Dưới đây là ví dụ hoàn chỉnh về cách giải quyết thử thách reCAPTCHA v2 bằng SDK NextCaptcha Python:
from nextcaptcha import NextCaptchaAPI
 
CLIENT_KEY = "YOUR_CLIENT_KEY"
WEBSITE_URL = "https://example.com"
WEBSITE_KEY = "SITE_KEY"
 
api = NextCaptchaAPI(client_key=CLIENT_KEY)
result = api.recaptchav2(website_url=WEBSITE_URL, website_key=WEBSITE_KEY)
 
if result["status"] == "ready":
    print(f"reCAPTCHA solved: {result['solution']}")
else:
    print(f"Failed to solve reCAPTCHA: {result['error']}")

Xử lý lỗi#

Nếu có lỗi trong mã xác minh, SDK sẽ trả về từ điển chứa thông tin lỗi. Bạn có thể kiểm tra trường trạng thái để xác định xem yêu cầu có thành công hay không. Nếu trạng thái là "Sẵn sàng", mã xác minh đã được giải quyết thành công và giải pháp sẽ có sẵn trong trường giải pháp. Nếu trạng thái là "Không thành công", trường lỗi sẽ chứa mô tả lỗi