CAPSOLVER
Blog
Cách giải CAPTCHA trong RoxyBrowser với tích hợp CapSolver

Cách giải Captcha trong RoxyBrowser với tích hợp CapSolver

Logo of CapSolver

Anh Tuan

Data Science Expert

04-Feb-2026

RoxyBrowser cung cấp chức năng trình duyệt thông qua các lời gọi API và có thể tích hợp với các khung phần mềm tự động hóa như Selenium, Puppeteer và Playwright. API của nó được thiết kế để bạn mở các hồ sơ trình duyệt thực tế một cách chương trình và gắn công cụ tự động hóa của bạn. API có giới hạn tốc độ được ghi chú là 100 lời gọi mỗi phút cho mỗi điểm cuối.
Nguồn: https://faq.roxybrowser.org/en/guide/10-API

CapSolver cung cấp luồng API tạo và kiểm tra kết quả trả về một mã CAPTCHA bạn có thể chèn vào trang. CapSolver hỗ trợ nhiều loại CAPTCHA:

  • reCAPTCHA v2: Loại nhiệm vụ ReCaptchaV2TaskProxyLess, trả về gRecaptchaResponse
  • reCAPTCHA v3: Loại nhiệm vụ ReCaptchaV3TaskProxyLess, trả về gRecaptchaResponse kèm theo điểm số
  • Cloudflare Turnstile: Loại nhiệm vụ AntiTurnstileTaskProxyLess, trả về token Xem tài liệu

Hướng dẫn này trình bày một luồng thực tế, không phụ thuộc vào khung phần mềm: mở một hồ sơ Roxy thông qua API, gắn khung phần mềm tự động hóa của bạn, giải CAPTCHA bằng CapSolver, và chèn mã token để tiếp tục.


RoxyBrowser là gì?

RoxyBrowser là trình duyệt chống phát hiện cho việc quản lý nhiều tài khoản với các tính năng như tự động hóa API và bộ đồng bộ đa cửa sổ.

Đối với tự động hóa, API là phần quan trọng nhất:

  • Nó hỗ trợ tích hợp với Selenium, Puppeteer và Playwright.

  • Các yêu cầu phải bao gồm tiêu đề token.

  • Host API mặc định là http://127.0.0.1:50000 (thay đổi cổng yêu cầu khởi động lại).


CapSolver là gì?

CapSolver giải CAPTCHA thông qua hai lời gọi API:

  1. createTask để gửi tham số CAPTCHA
  2. getTaskResult để kiểm tra cho đến khi token sẵn sàng

Đối với reCAPTCHA v2, CapSolver trả về gRecaptchaResponse.

getTaskResult bị giới hạn ở 120 lần truy vấn cho mỗi nhiệm vụ và phải được gọi trong vòng 5 phút kể từ khi tạo nhiệm vụ.

Cài đặt API RoxyBrowser

1) Kích hoạt API và lấy token của bạn

  1. Mở RoxyBrowser và truy cập API.
  2. Thiết lập công tắc API thành Bật.
  3. Sao chép khóa API (token) và xác nhận host/cổng.

Mặc định, host là http://127.0.0.1:50000. Nếu bạn thay đổi cổng, bạn phải khởi động lại RoxyBrowser.

2) Lấy ID workspace và ID hồ sơ

Sử dụng /browser/workspace để lấy workspace, sau đó /browser/list_v3 để liệt kê hồ sơ.

python Copy
import requests

BASE = "http://127.0.0.1:50000"
HEADERS = {"token": "YOUR_ROXY_API_KEY"}

workspaces = requests.get(f"{BASE}/browser/workspace", headers=HEADERS).json()
workspace_id = workspaces["data"]["rows"][0]["id"]

profiles = requests.get(
    f"{BASE}/browser/list_v3",
    params={"workspaceId": workspace_id},
    headers=HEADERS
).json()
dir_id = profiles["data"]["rows"][0]["dirId"]

3) Mở một hồ sơ và thu thập các điểm cuối tự động hóa

Gọi /browser/open. Trả về bao gồm:

  • ws: Giao diện WebSocket cho công cụ tự động hóa
  • http: Giao diện HTTP cho công cụ tự động hóa
  • driver: Đường dẫn WebDriver cho tích hợp Selenium

Chế độ ẩn danh không được hỗ trợ.

python Copy
open_resp = requests.post(
    f"{BASE}/browser/open",
    json={"workspaceId": workspace_id, "dirId": dir_id, "args": []},
    headers=HEADERS
).json()

ws_endpoint = open_resp["data"]["ws"]
http_endpoint = open_resp["data"]["http"]
driver_path = open_resp["data"]["driver"]

4) Gắn khung phần mềm tự động hóa của bạn

Sử dụng các điểm cuối được trả về để gắn khung phần mềm của bạn:

  • Puppeteer/Playwright có thể kết nối thông qua WebSocket DevTools hoặc điểm cuối HTTP.
  • Selenium có thể sử dụng đường dẫn driver với kết nối trình gỡ lỗi.

Các bước gắn kết cụ thể phụ thuộc vào khung phần mềm của bạn, nhưng các giá trị ws, httpdriver được cung cấp rõ ràng cho công cụ tự động hóa.


Helper CapSolver (Python)

python Copy
import time
import requests

CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
CAPSOLVER_BASE = "https://api.capsolver.com"

def create_task(task):
    payload = {"clientKey": CAPSOLVER_API_KEY, "task": task}
    r = requests.post(f"{CAPSOLVER_BASE}/createTask", json=payload)
    data = r.json()
    if data.get("errorId", 0) != 0:
        raise RuntimeError(data.get("errorDescription", "Lỗi CapSolver"))
    return data["taskId"]

def get_task_result(task_id, delay=2):
    while True:
        time.sleep(delay)
        r = requests.post(
            f"{CAPSOLVER_BASE}/getTaskResult",
            json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
        )
        data = r.json()
        if data.get("status") == "ready":
            return data["solution"]
        if data.get("status") == "failed":
            raise RuntimeError(data.get("errorDescription", "Nhiệm vụ thất bại"))

def solve_recaptcha_v2(website_url, website_key):
    task = {
        "type": "ReCaptchaV2TaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key
    }
    task_id = create_task(task)
    solution = get_task_result(task_id)
    return solution.get("gRecaptchaResponse", "")

def solve_recaptcha_v3(website_url, website_key, page_action="verify"):
    task = {
        "type": "ReCaptchaV3TaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key,
        "pageAction": page_action
    }
    task_id = create_task(task)
    solution = get_task_result(task_id)
    return solution.get("gRecaptchaResponse", "")

def solve_turnstile(website_url, website_key, action=None, cdata=None):
    task = {
        "type": "AntiTurnstileTaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key
    }
    # Thêm dữ liệu tùy chọn nếu có
    if action or cdata:
        task["metadata"] = {}
        if action:
            task["metadata"]["action"] = action
        if cdata:
            task["metadata"]["cdata"] = cdata

    task_id = create_task(task)
    solution = get_task_result(task_id)
    return solution.get("token", "")

Tham khảo:

Luồng toàn diện: reCAPTCHA v2

  1. Mở một hồ sơ Roxy thông qua /browser/open và gắn khung phần mềm tự động hóa của bạn.

  2. Đi đến trang đích và trích xuất khóa trang.
    Ví dụ:

    javascript Copy
    const siteKey = document.querySelector(".g-recaptcha")?.getAttribute("data-sitekey");
  3. Giải bằng CapSolver sử dụng helper phía trên.

  4. Chèn mã token và gửi biểu mẫu:

    javascript Copy
    const token = "CAPSOLVER_TOKEN";
    const el = document.getElementById("g-recaptcha-response");
    el.style.display = "block";
    el.value = token;
    el.dispatchEvent(new Event("input", { bubbles: true }));
    el.dispatchEvent(new Event("change", { bubbles: true }));

Luồng toàn diện: reCAPTCHA v3

reCAPTCHA v3 hoạt động khác - nó chạy ở nền và trả về điểm số (0.0 đến 1.0) thay vì yêu cầu tương tác người dùng.

  1. Trích xuất khóa trang và hành động từ trang:

    javascript Copy
    // Khóa trang thường ở trong script hoặc thẻ meta
    const siteKey = document.querySelector('[data-sitekey]')?.getAttribute('data-sitekey');
    
    // Hành động được tìm thấy trong các cuộc gọi grecaptcha.execute
    // Tìm trong mã nguồn trang: grecaptcha.execute('KEY', {action: 'ACTION'})
    const pageAction = "submit"; // hoặc "login", "register", v.v.
  2. Giải bằng CapSolver:

    python Copy
    token = solve_recaptcha_v3(
        website_url="https://example.com/login",
        website_key="6LcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAA",
        page_action="login"
    )
  3. Chèn mã token (giống như v2):

    javascript Copy
    const token = "CAPSOLVER_TOKEN";
    document.getElementById("g-recaptcha-response").value = token;
    
    // Nếu có callback, kích hoạt nó
    if (typeof ___grecaptcha_cfg !== 'undefined') {
        const clients = ___grecaptcha_cfg.clients;
        Object.keys(clients).forEach(key => {
            if (clients[key].callback) {
                clients[key].callback(token);
            }
        });
    }

Luồng toàn diện: Cloudflare Turnstile

Cloudflare Turnstile là một lựa chọn CAPTCHA hiện đại, nhanh hơn để giải (1-20 giây).

  1. Trích xuất khóa trang Turnstile:

    javascript Copy
    const siteKey = document.querySelector('.cf-turnstile')?.getAttribute('data-sitekey');
    // Tùy chọn: trích xuất hành động và cdata nếu có
    const action = document.querySelector('.cf-turnstile')?.getAttribute('data-action');
    const cdata = document.querySelector('.cf-turnstile')?.getAttribute('data-cdata');
  2. Giải bằng CapSolver:

    python Copy
    token = solve_turnstile(
        website_url="https://example.com",
        website_key="0x4AAAAAAAxxxxxxxxxxxxxxx",
        action=action,  // tùy chọn
        cdata=cdata     // tùy chọn
    )
  3. Chèn mã Turnstile:

    javascript Copy
    const token = "CAPSOLVER_TURNSTILE_TOKEN";
    
    // Tìm trường phản hồi Turnstile
    const input = document.querySelector('input[name="cf-turnstile-response"]');
    if (input) {
        input.value = token;
        input.dispatchEvent(new Event('input', { bubbles: true }));
        input.dispatchEvent(new Event('change', { bubbles: true }));
    }
    
    // Phương án thay thế: một số trang sử dụng tên trường khác
    const altInput = document.querySelector('input[name="turnstile-response"]');
    if (altInput) {
        altInput.value = token;
    }

Nguyên tắc tốt nhất

  • Tuân thủ giới hạn tốc độ API của RoxyBrowser: 100 lời gọi mỗi phút cho mỗi điểm cuối.
  • getTaskResult của CapSolver bị giới hạn ở 120 lần kiểm tra trong 5 phút.
  • Sử dụng logic thử lại và giảm dần nếu token bị từ chối.
  • Giữ IP người giải và IP duyệt web nhất quán khi trang đích kiểm tra nguồn token.

Sẵn sàng bắt đầu chưa? Đăng ký CapSolver và sử dụng mã thưởng ROXYBROWSER để nhận thêm 6% thưởng cho lần nạp đầu tiên!

FAQ

  • RoxyBrowser có hỗ trợ Selenium, Puppeteer và Playwright không?
    Có. API được thiết kế để tích hợp với các khung phần mềm này.

  • Tôi lấy token API và host ở đâu?
    Từ API -> Cấu hình API trong RoxyBrowser. Host mặc định là http://127.0.0.1:50000.

  • /browser/open trả về gì?
    Nó trả về các trường ws, httpdriver được sử dụng bởi công cụ tự động hóa.

  • Chế độ ẩn danh có được hỗ trợ không?
    Không, chế độ ẩn danh không được hỗ trợ.

  • CapSolver hỗ trợ những loại CAPTCHA nào?

  • CapSolver trả về token reCAPTCHA v2 như thế nào?
    Tạo một nhiệm vụ với ReCaptchaV2TaskProxyLess và kiểm tra getTaskResult để lấy gRecaptchaResponse.

  • reCAPTCHA v3 khác reCAPTCHA v2 như thế nào?](https://www.capsolver.com/blog/reCAPTCHA/extra-parameters-recaptcha)
    reCAPTCHA v3 chạy ở nền mà không cần tương tác người dùng và trả về điểm số (0.0-1.0). Nó yêu cầu tham số pageAction, có thể được tìm thấy bằng cách tìm grecaptcha.execute trong mã nguồn trang.

  • Làm thế nào để giải Cloudflare Turnstile?
    Sử dụng loại nhiệm vụ AntiTurnstileTaskProxyLess với websiteURLwebsiteKey. Tùy chọn bao gồm metadata.actionmetadata.cdata nếu có trên widget. Turnstile được giải trong 1-20 giây.
    Đọc thêm:

  • Làm thế nào để tìm khóa trang Turnstile?
    Tìm thuộc tính data-sitekey trên phần tử .cf-turnstile. Khóa trang Turnstile bắt đầu bằng 0x4.

  • Tôi có cần proxy cho CapSolver không?
    Không, các loại nhiệm vụ *ProxyLess sử dụng cơ sở dữ liệu proxy tích hợp của CapSolver. Sử dụng các phiên bản không phải ProxyLess nếu bạn cần sử dụng proxy của riêng mình.

Kết luận

RoxyBrowser cung cấp môi trường trình duyệt dựa trên hồ sơ với các điểm cuối tự động hóa, và CapSolver cung cấp mã token CAPTCHA chương trình. Bằng cách mở một hồ sơ Roxy, gắn khung phần mềm của bạn, và chèn mã token của CapSolver, bạn có thể xây dựng các luồng tự động hóa đáng tin cậy có khả năng xử lý CAPTCHA.

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

RoxyBrowser với tích hợp CapSolver
Cách giải Captcha trong RoxyBrowser với tích hợp CapSolver

Tích hợp CapSolver với RoxyBrowser để tự động hóa các nhiệm vụ trình duyệt và vượt qua reCAPTCHA, Turnstile và các CAPTCHA khác.

web scraping
Logo of CapSolver

Anh Tuan

04-Feb-2026

AI Tính liên quan với CapSolver
Cách giải reCAPTCHA v2 trong Relevance AI với tích hợp CapSolver

Xây dựng một công cụ AI của Relevance để giải quyết reCAPTCHA v2 bằng CapSolver. Tự động hóa việc gửi biểu mẫu qua API mà không cần tự động hóa trình duyệt.

web scraping
Logo of CapSolver

Anh Tuan

03-Feb-2026

Công cụ Ghi Dữ Liệu Nhanh: Cách Nhanh Chóng Trích Xuất Dữ Liệu Từ Web Không Cần Mã
Công cụ Ghi dữ liệu Nhanh: Cách nhanh chóng trích xuất dữ liệu web mà không cần code

Khám phá các công cụ trích xuất dữ liệu tức thì tốt nhất cho năm 2026. Học các cách nhanh chóng để trích xuất dữ liệu từ web mà không cần mã nguồn bằng cách sử dụng các tiện ích mở rộng hàng đầu và API để trích xuất tự động.

web scraping
Logo of CapSolver

Nikolai Smirnov

28-Jan-2026

Trích xuất dữ liệu từ web bài báo tin tức
Thu thập dữ liệu từ web các bài báo tin tức bằng Python (Hướng dẫn 2026)

Nắm vững trích xuất dữ liệu từ web bài báo tin tức bằng Python vào năm 2026. Học cách giải reCAPTCHA v2/v3 bằng CapSolver và xây dựng các pipeline dữ liệu có thể mở rộng.

web scraping
Logo of CapSolver

Anh Tuan

28-Jan-2026

Chặn IP vào năm 2026: Cách chúng hoạt động và các cách thực tế để lách lệnh cấm
Cấm IP vào năm 2026: Cách chúng hoạt động và các cách thực tế để vượt qua chúng

Học cách lách chặn IP vào năm 2026 với hướng dẫn toàn diện của chúng tôi. Khám phá các kỹ thuật chặn IP hiện đại và giải pháp thực tế như proxy nhà ở và trình giải CAPTCHA.

web scraping
Logo of CapSolver

Aloísio Vítor

26-Jan-2026

Tích hợp CAPTCHA Easyspider và CapSolver
Cách giải Captcha trong EasySpider với tích hợp CapSolver

EasySpider là công cụ trích xuất dữ liệu web và tự động hóa trình duyệt trực quan, không cần lập trình, và khi kết hợp với CapSolver, nó có thể giải CAPTCHAs như reCAPTCHA v2 và Cloudflare Turnstile một cách đáng tin cậy, cho phép trích xuất dữ liệu tự động liền mạch trên các trang web.

web scraping
Logo of CapSolver

Anh Tuan

26-Jan-2026