Menu tài liệu

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

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.
Với ba bước này, bạn tạo một nhiệm vụ bằng API của chúng tôi. Một nhân viên điều hướng tới 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 thủ công hoặc tự động tất cả các bước tình huống. Và ở cuối tập lệnh, chúng tôi lấy tất cả thông tin về phiên trình duyệt của họ như cookie, giá trị localStorage, vân tay trình duyệt và truyền trở lại ứng dụng của bạn. Bạn chỉ cần sử dụng dữ liệu này để khôi phục phiên nhân viên của chúng tôi và tiếp tục hoạt động như thể đó là một người dùng. Điều này tuyệt vời như thế nào? :)

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. Không thể sửa đổi mẫu sau khi lưu. Sau khi xuất bản, mẫu của bạn sẽ có sẵn trên API theo 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ả cho nhân viên. Đây là văn bản 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à một danh sách các tên biến bạn có thể thêm vào để dùng trong các bước thay vì dùng giá trị cố định. Trong ví dụ này, chúng tôi có 2 biến “login” (đăng nhập) và “password” (mật khẩu). Hai biến này được dùng trong bước 1 và 2 để điền vào biểu mẫu đăng nhập minh họa. Bằng cách này, bạn có thể cung cấp các giá trị thông qua API thay vì mã hóa cứng một đăng nhập và mật khẩu cố định trong mẫu.
    Các biến dùng trong bước 1 và 2
  • Các bước của nhân viên. Tại đây, bạn có thể chỉnh sửa và thay đổi thứ tự của các bước kịch bản. Trong ví dụ, chúng tôi thực hiện 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ơ.

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 để plugin hoạt động, điền các biến "login" (đăng nhập) và "password" (mật khẩu) bằng các giá trị bất kỳ và nhấn nút “Launch Test” (Chạy kiểm thử). Một trang mới sẽ mở ra với giao diện như sau:

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: $10.
  • 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ó.
  • Chỉ sử dụng tên mẫu trung lập không liên quan đến bất kỳ trang web hay dịch vụ nào.
  • 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
          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/tutorials/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”. Phần mềm của bạn cần điều hướng tới “url” sử dụng “cookies” trong yêu cầu này, và sử dụng ít nhất giá trị “fingerprint.self.navigator.userAgent” cho User-Agent của trình duyệt. Các trang web phức tạp hơn lưu trữ dữ liệu tại localStorage, một dạng phiên bản hiện đại của cookie. Trong trường hợp này, bạn cần đưa dữ liệu vào trang trước khi bắt đầu chạy bất kỳ Javascript nào. Có thể hoàn thành các bước này trong môi trường triển khai như Puppeteer. Có lễ cần có thêm một bài viết khác cho chủ đề này.

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).

Để kết thúc

Tại thời điểm viết bài này vào tháng 12 năm 2021, tính năng này vẫn ở trạng thái “beta”. Vui lòng đăng nhận xét và đề xuất của bạn về các tác vụ AntiGate trong phiếu hỗ trợ.