Menu

Hướng dẫn cách bỏ qua captcha bất kỳ với tác vụ AntiGate

Đã có phiên bản video mới của hướng dẫn tác vụ AntiGate đây.

Sau nhiều năm nghiên cứu và phát triển, chúng tôi giới thiệu một giải pháp toàn diện giúp robot của bạn bỏ qua các cổng captcha do con người tạo ra. Chúng tôi gọi đó là “AntiGate” và đây là những mẫu tình huống mà nhân lực của chúng tôi sử dụng để thực hiện các tác vụ chính xác.

Ở một thời điểm nhất định, ứng dụng của bạn gặp “cổng” bảo vệ tự động hóa với một số dạng captcha mới, tập lệnh trình duyệt xáo trộn hay bất kỳ bảo vệ tự động hóa nào khác. Đây là vị trí tác vụ AntiGate được thực hiện. Bạn ủy quyền cho một trong số những nhân viên của mình lập một phiên trình duyệt giống người thật.
  • Đầu tiên, chọn một mẫu. Bạn có thể sử dụng một mẫu có sẵn hoặc tự tạo mẫu riêng. Một mẫu là tập hợp các bước hướng dẫn mà nhân viên thực hiện.
  • Thứ hai, cung cấp dữ liệu bổ sung mà mẫu yêu cầu, như giá trị đầu vào cần điền, công cụ chọn CSS của đầu vào, hoặc địa chỉ trang web chúng tôi nên điều hướng tới. Lát nữa, chúng tôi sẽ nói thêm về mẫu.
  • Thứ ba, và tùy chọn - proxy Bạn cần mẫu nếu một trang web liên kết mỗi cookie phiên với một địa chỉ IP chính xác.
Có được ba điều này, bạn sẽ tạo một tác vụ với API của chúng tôi. Một nhân viên điều hướng đến trang web của bạn bằng plugin trình duyệt đặc biệt của chúng tôi và thực hiện tất cả các bước kịch bản theo cách thủ công hoặc tự động. Và ở cuối tập lệnh, chúng tôi lấy tất cả thông tin phiên trình duyệt của họ như cookie, giá trị localStorage, dấu vân tay của trình duyệt và truyền lại ứng dụng của bạn. Tất cả những gì còn lại là bạn sử dụng dữ liệu này để khôi phục phiên làm việc của chúng tôi và tiếp tục hoạt động như thể đó là người dùng con người. Bây giờ, điều đó thật tuyệt vời làm sao? :)

Mẫu AntiGate là gì?

Một mẫu AntiGate xác định một kịch bản chính xác mà nhân viên của chúng tôi sẽ trải qua. Mẫu bao gồm các bước, tất cả đều được thực hiện tuần tự. Sau khi hoàn thành một bước, nhân viên chuyển sang bước tiếp theo. Sau khi hoàn thành tất cả các bước, kết thúc tác vụ, một ảnh chụp nhanh của phiên nhân viên được chụp và gửi lại ứng dụng của bạn.

Có những loại bước thực hiện nào?
  • Điền tự động hoặc thủ công vào trường nhập văn bản.
  • Chờ một mẫu văn bản xuất hiện (hoặc biến mất) trên trang.
  • Chờ một phần tử DOM do CSS định nghĩa xuất hiện trên (hoặc biến mất khỏi) trang.
  • Chờ một từ khóa xuất hiện trong (hoặc biến mất khỏi) địa chỉ URL trình duyệt hiện tại của nhân viên.
Trường văn bản "description for workers” (mô tả cho nhân viên) của mẫu có thể mô tả bất kỳ bước nào khác mà bạn mong đợi từ nhân viên. Ví dụ: "Solve a captcha and press the submit button” (Giải quyết một captcha và nhấn vào nút gửi).
Hãy cùng xem ví dụ. Điều hướng tới Trung tâm lập trình viên và tạo một mẫu miễn phí để kiểm thử. Không cần lo lắng, bạn không vi phạm bất cứ điều gì!
Nhấp vào để thêm mẫu
Nhấp vào để tải mẫu
Lưu ý phần các bước
Bạn đã tải một ví dụ minh họa. Bạn có thể lưu vào tài khoản và tự kiểm thử sau. Hãy làm quen với danh sách đầy đủ các thuộc tính mẫu:
  • Tên mẫu. Sau khi lưu, điều này không thể được sửa đổi. Sau khi bạn xuất bản, mẫu của bạn sẽ có sẵn trong API với tên này.
  • Mô tả cho khách hàng. Mẫu công khai có sẵn trong Catalog mẫu của chúng tôi.
  • Mô tả dành cho người lao động. Đây là dòng chữ mà nhân viên của chúng tôi nhìn thấy ở đầu trang.
    Ví dụ về giao diện nhân viên
  • Biến. Đây là danh sách tên biến bạn có thể thêm để sử dụng trong các bước thay vì giá trị cố định. Trong ví dụ này, chúng ta có 2 biến là "đăng nhập" và "mật khẩu". 2 cái này được sử dụng ở bước 1 và 2 để điền vào biểu mẫu đăng nhập trình diễn. Bằng cách này, bạn có thể cung cấp các giá trị này thông qua API thay vì mã hóa cứng thông tin đăng nhập và mật khẩu vĩnh viễn trong mẫu.
    Các biến dùng trong bước 1 và 2
  • Bước đi của công nhân. Tại đây bạn có thể chỉnh sửa và thay đổi thứ tự các bước kịch bản. Trong ví dụ của chúng tôi, chúng tôi làm như sau:
    1. Tự động điền vào trường văn bản với công cụ chọn CSS “#login” (đăng nhập). Giá trị của trường văn bản được định nghĩa bằng biến “login” (đăng nhập).
    2. Tự động điền vào trường văn bản với công cụ chọn CSS “#password” (mật khẩu). Giá trị của trường văn bản được định nghĩa bằng biến “password” (mật khẩu).
    3. Chờ văn bản điều khiển xuất hiện trên trang. Văn bản điều khiển được đặt cố định với giá trị "Test passed with login” (Đã qua kiểm thử với đăng nhập).

Bây giờ bạn có thể lưu mẫu, mẫu này sẽ xuất hiện trong Developer Center (Trung tâm lập trình viên) của bạn. Lưu ý mẫu có trạng thái “Sandbox”, nghĩa là mẫu này chỉ có sẵn cho bạn và không có sẵn trong API. Từ đây, bạn có thể thử kiểm thử mẫu mình mới tạo để biết bạn có phải là nhân viên của chính mình hay không.

Kiểm thử mẫu

Lúc này, bạn sẽ cần sử dụng trình duyệt Chrome và nên tạo một hồ sơ mới trên trình duyệt này vì chúng tôi cần cài đặt plugin của chúng tôi. Plugin này có quyền truy cập cookie của hồ sơ.
Ví dụ về giao diện nhân viên
Tiếp theo, trên thẻ mẫu của bạn, nhấn vào nút “test” (kiểm thử).
Làm theo hướng dẫn và tải xuống plugin cho nền tảng của bạn. Sau đó, tải lại trang để nó có hiệu lực, điền vào các biến "đăng nhập" và "mật khẩu" bằng một số giá trị ngẫu nhiên và nhấn nút "Khởi chạy thử nghiệm". Một trang mới sẽ mở ra có giao diện như thế này:

Gần thanh địa chỉ, có một thanh màu xanh mà plugin thêm vào ở đầu trang đích. Đây là cách giúp nhân viên biết về các phép gán của mình và điều khiển quá trình thực hiện tác vụ.

Ngoài ra, lưu ý rằng trường đăng nhập và mật khẩu bị ẩn khi điền các biến. Đây là cố ý. Dù nhân viên có quyền truy cập toàn bộ dữ liệu tác vụ thông qua bảng điều khiển của lập trình viên, 99.99% trong số họ không kiểm tra đã xảy ra trước đó.
Để giải quyết Recaptcha, nhấn nút “Sign In” (Đăng nhập). Bước cuối cùng của mẫu, "WAIT_CONTROL_TEXT_PRESENT", sẽ được thông qua. Plugin tìm kiếm cho cụm điều khiển “Test passed with login” (Đã qua kiểm thử với đăng nhập) được xác định vĩnh viễn trong mẫu của bạn. Tab tự động đóng và chụp nhanh phiên được hiển thị trong trường kết quả.
Ví dụ kết quả

Có thể nhận dữ liệu chụp nhanh tương tự từ API. Tuy nhiên để tạo mẫu sẵn có trong API, đầu tiên cần xuất bản mẫu này.

Xuất bản mẫu

Bạn có 2 lựa chọn khi xuất bản một mẫu: đặt ở chế độ riêng tư hoặc công khai.
  • Mẫu riêng tư chỉ có sẵn khi có khóa API. Những khách hàng khác không thể sử dụng mẫu riêng tư. Chi phí đánh giá và xuất bản: $1.
  • Mẫu công khai có sẵn cho tất cả mọi người. Bạn sẽ nhận 5% chi phí từ mỗi khách hàng với mẫu này. Bạn cần để lại thông tin liên lạc để khách hàng của chúng tôi liên hệ trợ giúp khi có vấn đề xảy ra với mẫu. Chi phí đánh giá và xuất bản: $1.
Chúng tôi sẽ cẩn thận đánh giá tất cả các mẫu. Bạn cần tuân theo một số yêu cầu cơ bản để chuyển sang chế độ sản xuất thành công.
  • Không được phép thực hiện bất kỳ hành động bất hợp pháp nào.
  • Không được sao chép mẫu từ các mẫu đã có.
  • Không gửi mẫu giả hoặc mẫu kiểm thử.
  • Cung cấp một địa chỉ web minh họa và các giá trị biến để đánh giá. Chúng tôi sẽ chạy kiểm thử và sẽ hoàn thành tất cả các bước.

Yêu cầu API

Yêu cầu tạo tác vụ tới API cho mẫu AntiGate ở trên sẽ có dạng đơn giản như sau:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

Nghĩa là, bạn truyền tham số “templateName” (Tên mẫu) và “variables” (biến) để điền vào mẫu.

Sử dụng kết quả tác vụ

Hoàn thành một giải pháp tác vụ AntiGate trả về bao gồm “cookies”, “localStorage” (Lưu trữ cục bộ), “fingerprint” (vân tay) và “url”. Những gì phần mềm của bạn cần làm là điều hướng đến "url" bằng cách sử dụng "cookie" trong yêu cầu này và ít nhất sử dụng giá trị "fingerprint.self.navigator.userAgent" cho Tác nhân người dùng của trình duyệt. Các trang web phức tạp hơn lưu trữ dữ liệu quan trọng trong localStorage, đây là một loại phiên bản cookie hiện đại. Trong trường hợp này, bạn cần đưa dữ liệu này vào trang trước khi thực sự chạy bất kỳ Javascript nào. Những điều này có thể được thực hiện trong môi trường phát triển như Puppeteer. Chủ đề này có lẽ xứng đáng có một bài viết khác.

Tạo mẫu riêng của bạn

Chỉ cần làm theo các bước trên mà không cần tải mẫu ví dụ. Điền vào tất cả các chi tiết một cách tỉ mỉ và cẩn thận thêm các bước. Lưu ý cần thực hiện tuần tự tất cả các bước. Plugin chỉ cho phép thực hiện bước tiếp theo sau khi đã hoàn thành bước hiện tại. Bạn có thể lưu và kiểm thử mẫu với plugin trình duyệt của nhân viên bất cứ lúc nào.

Định giá

Tại thời điểm này, giá mỗi 1000 tác vụ là $2. Ngoài ra, mỗi giây thực hiện tác vụ có giá bằng 1/60 giá tác vụ. Ví dụ: giá của tác vụ là $0.002 và nhân viên mất 20 giây để xử lý tác vụ này.
Chi phí cuối cùng sẽ là $0.00266 = 0.002 + (0.002 / 60 * 20).