CAPSOLVER
Blog
Cách khắc phục lỗi CAPTCHA MCP sử dụng sai phiên trình duyệt

Cách Sửa Lỗi Cuộc Gọi CAPTCHA MCP Sử Dụng Sai Phiên Trình Duyệt

Logo of CapSolver

Anh Tuan

How to use CapSolver

28-Oct-2026

Tóm tắt nhanh

  • Một công cụ MCP CAPTCHA nhận URL không tự động thao tác trên tab trình duyệt mà tác nhân của bạn đang kiểm soát.
  • Trong giao diện capsolver-mcp 0.1.3 đã kiểm thử, detect_captchas và solve_on_page nhận page_url; cả hai đều không cho phép truyền vào một trang hiện có hoặc phiên trình duyệt sẵn có.
  • Hãy kiểm tra schema công cụ được quảng bá trước khi giả định rằng hai máy chủ MCP chia sẻ cùng một trình duyệt.
  • Giữ trang gốc dưới “chủ sở hữu” trình duyệt hiện tại. Hãy dùng một tích hợp chấp nhận chính trang đó, hoặc chuyển các tham số được ghi chép và kết quả thông qua ứng dụng của riêng bạn.
  • Hãy xác nhận tác vụ ứng dụng gốc sau khi xử lý xong một thử thách được hỗ trợ. Chỉ phản hồi từ công cụ không khẳng định rằng biểu mẫu đã được gửi hoặc việc tra cứu dữ liệu đã hoàn tất.

Tác nhân trình duyệt của bạn đã điền một biểu mẫu và gặp CAPTCHA. Nó gọi một công cụ MCP thứ hai với URL của trang, nhận về phản hồi, rồi quay lại tab vẫn trông như chưa hề thay đổi. Mắt xích còn thiếu có thể chính là phiên trình duyệt.

MCP giúp một công cụ có thể được gọi; nó không khiến mọi máy chủ kết nối chia sẻ các đối tượng trình duyệt đang sống. Trình duyệt chuẩn bị biểu mẫu và trình duyệt được mở bởi một công cụ dựa trên URL có thể là hai thực thể khác nhau. CapSolver cung cấp cả công cụ MCP lẫn Python Core SDK, nên việc chọn đúng giao diện rất quan trọng khi CAPTCHA xuất hiện giữa chừng một tác vụ hiện có.

Hướng dẫn này chẩn đoán đúng tình huống bàn giao đó. Nó bao gồm một bước kiểm tra schema MCP thực và các quan sát từ một fixture trình duyệt cục bộ do chính chúng tôi sở hữu. Không có thử thách trả phí nào được giải, và cũng không có tuyên bố nào về việc biểu mẫu sản xuất được chấp nhận.

Tại sao lệnh gọi CAPTCHA MCP lại dùng một trình duyệt khác?

Các công cụ trình duyệt MCP đã kiểm thử tự tạo trình duyệt của riêng chúng từ một URL thay vì nhận trang đang hoạt động của tác nhân.

Tài liệu tham chiếu dịch vụ MCP mô tả việc phát hiện dựa trên URL và giải captcha trên trang. Chúng tôi đã kiểm tra các schema được quảng bá của gói đã cài đặt và cách triển khai khởi chạy trình duyệt, rồi quan sát các yêu cầu của nó đến một fixture cục bộ. Những kiểm tra đó đều thống nhất về ranh giới: cung cấp URL không gắn công cụ vào một tab đang chạy sẵn.

Sự khác biệt đó quan trọng ngay cả khi cả hai trang đều hiển thị cùng địa chỉ. Một trường biểu mẫu có thể chứa giá trị chưa gửi ở một tab trong khi lại trống rỗng ở tab khác. Một cookie khả dụng trong một ngữ cảnh trình duyệt không tự động xuất hiện trong ngữ cảnh khác. Tài liệu hướng dẫn browser-context của Playwright giải thích rõ sự cô lập giữa các context.

Đừng suy ra trạng thái dùng chung chỉ vì hai máy chủ công cụ xuất hiện trong cùng thanh bên của trợ lý. Công cụ của chúng có thể khả dụng với cùng một mô hình trong khi các tiến trình trình duyệt của chúng vẫn độc lập.

Kiểm tra schema công cụ trước khi thay đổi luồng làm việc

Hãy kiểm tra schema đang chạy để xác định trạng thái nào công cụ thực sự có thể nhận.

Dùng Python 3.12 cho kiểm thử có thể tái lập dưới đây. Môi trường đã kiểm thử chứa capsolver-mcp 0.1.3, capsolver-core 0.1.1, MCP Python SDK 1.30.0 và Playwright 1.64.1. Kho MCP chính thức chỉ ra gói máy chủ; MCP Python SDK cung cấp client dùng cho chẩn đoán này.

Chạy các lệnh này với trình thông dịch Python sẽ khởi chạy máy chủ:

bash Copy
python -m pip install "capsolver-mcp[browser]==0.1.3" "capsolver-core==0.1.1" "mcp==1.30.0" "playwright==1.64.1"
python -m playwright install chromium

Lưu đoạn chẩn đoán nhỏ này thành inspect_mcp.py và chạy nó bằng chính Python đó. Nó khởi tạo kết nối stdio thực, đọc schema và gọi registry kiểu được hỗ trợ. Nó cố ý truyền giá trị API-key rỗng và không bao giờ gọi các phương thức solve hay balance. Một lần solve trả phí thực sự yêu cầu khóa hợp lệ và mục tiêu được ủy quyền; chẩn đoán này không kiểm tra đường dẫn đó.

python Copy
import asyncio
import json
import sys
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    server = StdioServerParameters(
        command=sys.executable,
        args=["-m", "capsolver_mcp"],
        env={"CAPSOLVER_API_KEY": ""},
    )
    async with stdio_client(server) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            result = await session.list_tools()
            for tool in result.tools:
                if tool.name in {"detect_captchas", "solve_on_page"}:
                    print(json.dumps({
                        "tool": tool.name,
                        "arguments": sorted(tool.inputSchema.get("properties", {})),
                        "required": tool.inputSchema.get("required", []),
                    }))
            registry = await session.call_tool("get_supported_captchas", {})
            print("registry_is_error:", bool(registry.isError))

asyncio.run(main())

Với phiên bản đã kiểm thử, đầu ra có ý nghĩa là:

text Copy
{"tool": "detect_captchas", "arguments": ["page_url"], "required": ["page_url"]}
{"tool": "solve_on_page", "arguments": ["autofill", "page_url", "polling_interval", "timeout"], "required": ["page_url"]}
registry_is_error: False

Việc thiếu một tham số phiên là lý do để kiểm tra cách triển khai, chứ không phải khẳng định chung cho mọi máy chủ MCP. Ở đây, việc kiểm tra gói xác nhận rằng với mỗi lệnh gọi trình duyệt dựa trên URL, một trình duyệt headless và trang mới được tạo. Hãy kiểm tra lại schema và hành vi khi thay đổi phiên bản.

Bài kiểm thử trình duyệt cục bộ cho thấy điều gì

Bài kiểm thử cục bộ đã chứng minh ranh giới phiên mà không giả vờ giải một CAPTCHA.

Chúng tôi mở một fixture HTTP thuộc sở hữu trong một context Playwright, đặt một cookie vô hại fixture_session và nhập một truy vấn danh mục vào một ô văn bản. Fixture ghi nhận liệu mỗi yêu cầu có mang cookie đó không. Sau đó, chúng tôi gọi công cụ MCP thực detect_captchas với cùng URL.

Yêu cầu từ trình duyệt ban đầu có chứa cookie đánh dấu. Yêu cầu từ trình duyệt MCP thì không. Trang gốc vẫn giữ nguyên truy vấn đã nhập sau khi công cụ trả về. Việc phát hiện trả về danh sách rỗng trên fixture trơ này; đây không phải thử thách nhà cung cấp thực và bài kiểm thử không đo độ bao phủ phát hiện.

Những quan sát này thiết lập một điều hẹp hơn nhưng hữu ích: lệnh gọi MCP đã tải URL một cách độc lập, trong khi trang đầu tiên vẫn nguyên vẹn. Chúng không khẳng định việc solve trả phí, truyền token hay việc chấp nhận từ phía site mục tiêu. Không cookie sản xuất, thông tin xác thực hay bản ghi riêng tư nào được dùng.

Đối với ứng dụng của bạn, hãy tái tạo sự khác biệt tương tự với một dấu hiệu vô hại trên một trang staging do bạn kiểm soát. Ghi lại trang nào công cụ trình duyệt sở hữu và trang nào solver nhận. Tránh ghi nội dung cookie thực hoặc token CAPTCHA trong log chẩn đoán.

Nhập Mã Thưởng CapSolver Của Bạn

Tăng ngân sách tự động hóa ngay lập tức!
Dùng mã thưởng CAP26 khi nạp tiền vào tài khoản CapSolver để nhận thêm 5% bonus cho mỗi lần nạp — không giới hạn.
Hãy đổi ngay trong Bảng điều khiển CapSolver
Bonus Code

Chọn cách bàn giao phù hợp với chủ sở hữu trình duyệt

Hãy chọn cách bàn giao dựa trên việc ứng dụng của bạn có thể truy cập đối tượng trang đang hoạt động hay không.

Ứng dụng Python của bạn sở hữu trang Playwright

Core SDK chấp nhận một trang Playwright hiện có cho các phương thức hướng trình duyệt. Các phương thức detect(page) và get_captcha_info(page) được ghi lại sẽ kiểm tra trang đó; solve_on_page(page) thực hiện chuỗi solve và điền lại đã được ghi tài liệu cho những thử thách được hỗ trợ. Tài liệu Core SDK mô tả các giao diện và trường kết quả này.

Giữ trang trong chính ứng dụng của bạn và truyền đối tượng hiện có tại điểm chạm CAPTCHA. Việc tạo một trang mới bên trong handler làm thay đổi thao tác bạn đang chẩn đoán. Đây là lựa chọn triển khai cho những ứng dụng tự sở hữu mã trình duyệt, chứ không phải cờ cấu hình có thể khiến công cụ MCP chỉ nhận URL gắn vào một tab.

Hướng dẫn này xác minh ranh giới MCP, chứ không phải solve Core SDK trả phí. Trước khi áp dụng solve dựa trên trang trong môi trường sản xuất, hãy kiểm thử riêng loại thử thách được hỗ trợ và điều kiện hoàn thành của ứng dụng trên một mục tiêu được ủy quyền.

Một máy chủ MCP khác sở hữu trình duyệt

Khi một máy chủ khác sở hữu trình duyệt, hãy dùng các khả năng đã được ghi lại của máy chủ đó để kiểm tra trang hiện tại và quyết định liệu nó có thể áp dụng kết quả bên ngoài không. Đừng tự tạo một session_id, tham số CDP hay handle trang mà schema của solver không chấp nhận.

Giải dạng token có thể trả về kết quả từ các tham số thử thách đã được ghi lại, nhưng ứng dụng của bạn vẫn cần một cách được hỗ trợ để đưa nó vào trang gốc. Nếu chủ sở hữu trình duyệt không làm được điều đó, hãy ghi nhận khoảng trống khả năng hoặc chuyển tác vụ cho con người. Việc kết nối cả hai máy chủ không tự sinh ra thao tác bị thiếu.

Tác vụ cố ý bắt đầu từ một URL mới

Một công cụ dựa trên URL có thể phù hợp với phép kiểm tra độc lập nơi một trang mới đúng là điều bạn mong muốn. Hãy đặt tên tác vụ đó tách biệt với biểu mẫu mà tác nhân đang tạm dừng. Một lần kiểm tra thành công trên trang mới không nên được báo cáo là đã hoàn tất biểu mẫu ban đầu.

Hướng dẫn tái sử dụng context Playwright hiện có của CapSolver giải thích về snapshot lưu trữ và các trang đang sống. Vấn đề MCP cụ thể ở đây nằm sớm hơn trong chuỗi: trình duyệt nào thực sự nhận lệnh gọi.

Chỉ tiếp tục sau khi kiểm tra tác vụ gốc

Chỉ tiếp tục tác vụ gốc sau khi trang dự định và phản hồi ứng dụng xác nhận bước tiếp theo là hợp lệ.

Giữ chủ sở hữu trình duyệt, thao tác hiện tại và điều kiện hoàn thành ở cùng một chỗ. Sau khi một lần solve được hỗ trợ kết thúc, hãy kiểm tra lại trang gốc. Xác nhận rằng biểu mẫu hoặc truy vấn vẫn đại diện cho cùng một tác vụ, rồi thực hiện việc gửi hoặc điều hướng được phép thông qua giao diện bình thường của chủ sở hữu trình duyệt.

Đối với tác nhân dữ liệu, thành công có thể nghĩa là các định danh bản ghi mong đợi và trường bắt buộc có trong dữ liệu trả về. Đối với một luồng biểu mẫu, thành công có thể là một xác nhận từ ứng dụng gắn với đầu vào đã gửi. Một kết quả phát hiện CAPTCHA rỗng không phải là bất cứ kết quả nào trong số đó.

Nếu trang đã điều hướng hoặc thử thách đã thay đổi trong khi gọi, hãy kiểm tra tác vụ hiện tại trước khi tái sử dụng bất kỳ kết quả trước đó. Tránh việc lặp đi lặp lại solve trả phí chỉ vì một tab không liên quan vẫn hiển thị widget. Hãy giữ các trạng thái chưa giải quyết ở dạng tường minh thay vì để mô hình tóm tắt chúng thành “thành công”.

Xây dựng Quy trình Tự động Hóa Đáng Tin Cậy với CapSolver

Hãy coi việc sở hữu trình duyệt là một phần của hợp đồng tích hợp CAPTCHA. CapSolver có thể cung cấp các khả năng solve được ghi tài liệu, trong khi ứng dụng của bạn vẫn giữ trách nhiệm đối với trang dự định và tác vụ cuối cùng. Hãy bắt đầu bằng cách kiểm tra schema MCP thực tế, rồi kiểm thử cách bàn giao mà môi trường trình duyệt của bạn hỗ trợ.

Câu hỏi thường gặp

Hỏi: Việc đưa cho công cụ CAPTCHA MCP cùng một URL có tái sử dụng tab trình duyệt của tôi không?

Không, không trong các công cụ dựa trên URL capsolver-mcp 0.1.3 đã kiểm thử. Schema đang chạy và bài kiểm thử yêu cầu cục bộ cho thấy một yêu cầu trình duyệt riêng biệt.

Hỏi: Tôi có thể truyền ID phiên của máy chủ trình duyệt cho solve_on_page không?

Schema công cụ đã kiểm thử không chấp nhận tham số đó. Chỉ dùng các đầu vào được máy chủ đã cài đặt quảng bá; một session ID từ công cụ khác không tự động có ý nghĩa ở đây.

Hỏi: autofill có cập nhật tab gốc của tác nhân không?

Đừng giả định như vậy. Công cụ dựa trên URL thao tác trên trang mà nó tự mở. Việc điền lại trên trang đó không khẳng định một thay đổi ở tab được sở hữu riêng biệt.

Hỏi: Ví dụ có giải một CAPTCHA thực không?

Không. Nó xác minh kết nối MCP, schema công cụ và sự tách biệt phiên trình duyệt bằng một fixture trơ thuộc sở hữu. Việc solve trả phí và được ứng dụng chấp nhận đòi hỏi các kiểm thử riêng.

Hỏi: Nếu công cụ trình duyệt của tôi không thể áp dụng kết quả từ solver thì sao?

Hãy dùng một tích hợp dựa trên trang được hỗ trợ trong một ứng dụng sở hữu trình duyệt, hoặc tạm dừng để con người xử lý. Đừng khẳng định rằng chỉ hai kết nối MCP là đủ để cung cấp một khả năng trình duyệt còn thiếu.

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

Kết quả CAPTCHA phải vượt qua các bước kiểm tra riêng biệt của công cụ, trình giải và trình duyệt trước khi tác nhân AI tiếp tục.
Cách Trả Về Kết Quả Công Cụ CAPTCHA mà Tác Nhân AI Có Thể Sử Dụng

Đọc đúng kết quả từ công cụ CAPTCHA: phân biệt lỗi truyền tải, tác vụ đang chờ xử lý, kết quả từ bộ giải và việc trình duyệt đã thành công trước khi cho phép một tác nhân AI tiếp tục.

ai
Logo of CapSolver

Anh Tuan

30-Oct-2026

Hai tác vụ trình duyệt nhận được kết quả CAPTCHA riêng của chúng ngay cả khi tác vụ thứ hai hoàn thành trước.
Cách Khớp Kết Quả CAPTCHA với Các Tác Vụ Tác Nhân Trình Duyệt Song Song

Giữ cho các tác nhân trình duyệt chạy song song không trộn lẫn kết quả CAPTCHA. Ánh xạ ID tác vụ với chủ sở hữu trang, từ chối các phản hồi cũ và kiểm tra định tuyến trước khi áp dụng giải pháp.

ai
Logo of CapSolver

Anh Tuan

29-Oct-2026

Hai tuyến cho tác vụ CAPTCHA của tác nhân AI: gửi yêu cầu API trực tiếp hoặc gọi công cụ MCP, sau đó là bước xác minh của ứng dụng.
Cách Chọn Giữa CAPTCHA API và MCP Cho Các Tác Nhân AI

Hãy chọn một API CAPTCHA hoặc MCP cho tác nhân AI của bạn bằng cách so sánh khả năng kiểm soát tác vụ, khám phá công cụ, xử lý kết quả và trách nhiệm của trình duyệt trước khi bạn tích hợp.

ai
Logo of CapSolver

Anh Tuan

29-Oct-2026

Sơ đồ tách trang đang hoạt động của một tác nhân khỏi một phiên trình duyệt MCP dựa trên URL.
Cách Sửa Lỗi Cuộc Gọi CAPTCHA MCP Sử Dụng Sai Phiên Trình Duyệt

Chẩn đoán các lệnh gọi MCP CAPTCHA mở một phiên trình duyệt khác. Kiểm tra đầu vào của công cụ, giữ nguyên trang ban đầu và xác minh tác vụ trước khi tiếp tục.

ai
Logo of CapSolver

Anh Tuan

28-Oct-2026

Qwen Code kết nối với một máy chủ MCP cục bộ đã được phê duyệt, cung cấp các công cụ CAPTCHA.
Cách thiết lập công cụ MCP giải CAPTCHA trong Qwen Code

Kết nối các công cụ MCP giải CAPTCHA với Qwen Code, phê duyệt máy chủ dự án, kiểm tra kết nối của nó và chọn đúng token hoặc quy trình làm việc trên trình duyệt phù hợp với nhiệm vụ của bạn.

ai
Logo of CapSolver

Anh Tuan

26-Oct-2026

Công cụ Haystack được kết nối với một trang trình duyệt và một tham số CAPTCHA trả về kết quả bao gồm loại, URL và khóa trang web.
Cách Thêm Công Cụ Phát Hiện CAPTCHA vào Các Tác Tử Haystack

Thêm một công cụ kiểm tra CAPTCHA vào Haystack, đọc các tham số reCAPTCHA bằng SDK chính thức và xác minh kết nối trước khi bước giải riêng biệt.

ai
Logo of CapSolver

Anh Tuan

22-Oct-2026