Nhà biên kịch proxy không hoạt động? Hướng dẫn cài đặt đầy đủ vào năm 2026.
Tóm tắt
Một proxy của Playwright thường không hoạt động vì server, thông tin xác thực, giao thức hoặc phạm vi không đúng - không phải vì Playwright thiếu hỗ trợ proxy.
Đặt một proxy trong chromium.launch({ proxy }) cho toàn bộ trình duyệt, hoặc trong browser.newContext({ proxy }) cho một ngữ cảnh cô lập. Playwright hiện tại không yêu cầu một proxy cấp độ giả trong quá trình khởi chạy trước khi có proxy ngữ cảnh.
Trong Playwright Test, cấu hình lưu lượng runtime với use.proxy; HTTPS_PROXY chỉ kiểm soát quá trình tải xuống trình duyệt cho npx playwright install.
Một HTTP 407 có nghĩa là proxy đã từ chối xác thực. Một phản hồi mục tiêu như 403 hoặc 429 thường có nghĩa rằng kết nối proxy đã hoạt động và đích đã từ chối hoặc hạn chế yêu cầu.
Xác minh đường đi qua các lớp: kiểm tra cổng vào, tải một điểm cuối được phép nhỏ, sau đó kiểm tra các yêu cầu thất bại của trang thực và theo dõi.
Giữ một phiên proxy cho mỗi ngữ cảnh trình duyệt logic, lưu trữ thông tin xác thực bên ngoài mã nguồn, và chỉ sử dụng các mục tiêu công khai hoặc đã được phép.
Tại sao proxy Playwright của bạn không hoạt động?
Proxy Playwright của bạn có khả năng không hoạt động vì các cài đặt proxy bị sai định dạng, áp dụng ở phạm vi sai, không thể truy cập từ runtime, hoặc bị từ chối trong quá trình xác thực. Hiện tại, Playwright hỗ trợ các máy chủ proxy HTTP, HTTPS và SOCKS5 ở cấp trình duyệt hoặc cấp ngữ cảnh trình duyệt, như đã được ghi chép trong hướng dẫn mạng chính thức của Playwright. Cùng một đối tượng proxy chuẩn có thể kết nối với cổng proxy dân cư Nstproxy được tạo mà không cần SDK trình duyệt cụ thể của nhà cung cấp.
Bắt đầu bằng cách phân loại triệu chứng thay vì thay đổi mã liên tục:
Triệu chứng
Cấp độ có khả năng nhất
Kiểm tra đầu tiên
ERR_PROXY_CONNECTION_FAILED
Đường mạng
Máy chủ, cổng, DNS, khả năng truy cập vào container
ERR_TUNNEL_CONNECTION_FAILED
Đường hầm proxy
Giao thức, khả năng cổng vào, chính sách upstream
HTTP 407
Xác thực proxy
Tên người dùng, mật khẩu, trạng thái tài khoản
HTTP 403 hoặc 429
Phản hồi đích
Quyền truy cập mục tiêu, tỷ lệ, tính nhất quán phiên
Trang tải nhưng IP không thay đổi
Phạm vi cấu hình hoặc bỏ qua
Cấu hình khởi động/ngữ cảnh và quy tắc bỏ qua
Thời gian điều hướng hết hạn
Chất lượng proxy hoặc tài sản trang
Một điểm cuối đơn giản, thất bại trong yêu cầu, theo dõi
Lỗi cơ quan chứng nhận
Kiểm tra TLS hoặc CA riêng
Chuỗi chứng chỉ và cấu hình CA tin cậy
Sự phân biệt này rất quan trọng: một 407 là lỗi proxy, trong khi một 403 trả về bởi trang web không chứng minh rằng Playwright đã bỏ qua proxy. Phần còn lại của hướng dẫn này xây dựng một cấu hình đã biết là tốt và sau đó tách biệt từng lớp.
Bạn cần gì trước khi cấu hình một proxy Playwright?
Sử dụng một runtime Node.js hiện tại, một phiên bản Playwright hiện tại, và một bộ thông tin xác thực proxy hoàn chỉnh. Các kiểm tra trực tiếp cho hướng dẫn này đã sử dụng Node.js 22.23.2 với Playwright 1.62.1 và Python 3.12 với Playwright 1.62.0 vào ngày 6 tháng 8 năm 2026. Gói npm hiện tại yêu cầu Node.js 20 trở lên.
Đối với Node.js, tạo một dự án sạch và cài đặt Playwright:
Đối với mỗi proxy, thu thập các giá trị sau đây một cách riêng biệt:
server: giao thức, máy chủ, và cổng, chẳng hạn như http://proxy.example:8000
username: tài khoản proxy hoặc tên người dùng phiên được tạo
password: mật khẩu tương ứng
bypass: các máy chủ tùy chọn cách nhau bằng dấu phẩy mà phải kết nối trực tiếp
Không dán tên người dùng và mật khẩu vào server. Playwright cung cấp các trường thông tin xác thực riêng biệt, và việc giữ chúng tách biệt tránh các lỗi phân tích URL khi một mật khẩu chứa @, :, hoặc /.
Nhìn Qua Nhanh
Tạo một thông tin xác thực Nstproxy Channel hiện tại, kiểm tra nó đối với một điểm cuối được phép nhỏ, và sau đó áp dụng cùng một cài đặt proxy cho Playwright.
Set ba biến môi trường ba thông qua cơ chế bí mật của việc triển khai. Ghi lại trạng thái HTTP để chẩn đoán, nhưng làm mờ địa chỉ IP trả về và không bao giờ in mật khẩu. Một điểm cuối IP công khai hữu ích cho một kiểm tra tuyến đường chỉ với một yêu cầu; nó không nên trở thành một kiểm tra sức khỏe có tần suất cao.
Thiết lập Nstproxy tương đương sử dụng cổng trong PROXY_SERVER và các giá trị Kênh được tạo trong PROXY_USERNAME và PROXY_PASSWORD. Sao chép chúng từ bảng điều khiển xác thực vì các tham số vị trí và phiên có thể được nhúng trong tên người dùng được tạo.
Làm thế nào để cấu hình một proxy trong Playwright Test?
Sử dụng use.proxy trong playwright.config.js khi các bài kiểm tra nên chia sẻ một proxy thời gian chạy. Tài liệu Playwright Test use-options reference mô tả cấu hình này:
Sau đó, chạy bộ kiểm tra với các bí mật được cung cấp bởi shell hoặc nền tảng CI:
PROXY_SERVER="http://proxy.example:8000"\PROXY_USERNAME="your-generated-username"\PROXY_PASSWORD="your-secret"\npx playwright test
Cấu hình này đã được tải với Playwright Test 1.62.1 trong quá trình xác minh. Giữ tệp cấu hình không có thông tin xác thực sống để nó có thể được cam kết an toàn.
Một proxy ở cấp độ ngữ cảnh của Playwright có cần một dấu chấm khởi động không?
Không. Playwright hiện tại có thể khởi động Chromium mà không cần proxy và áp dụng một proxy trực tiếp vào browser.newContext(). Tài liệu API proxy Browser.newContext mô tả rõ ràng tùy chọn ngữ cảnh và các trường server, username, password, và bypass.
Hành vi chính xác này cũng đã được thử nghiệm cục bộ với Playwright 1.62.1, một proxy HTTP Basic-auth và một mục tiêu HTTP được kiểm soát: yêu cầu ngữ cảnh trả về 200 thông qua proxy mà không cần dấu chấm khởi động ở cấp độ. Các hướng dẫn bên thứ ba cũ yêu cầu một proxy khởi động đặc biệt per-context không phải là mô tả đáng tin cậy của API hiện tại.
Định tuyến ở cấp độ ngữ cảnh rất hữu ích khi một quy trình cần nhiều danh tính hoặc khu vực riêng biệt. Tạo một ngữ cảnh cho mỗi phiên logic và đóng nó sau phiên đó. Đừng chuyển đổi một proxy giữa chừng trong quá trình đăng nhập hoặc quy trình nhiều bước vì cookies, danh tiếng IP và trạng thái phiên phía máy chủ có thể không còn đồng bộ nữa.
import os
from playwright.sync_api import sync_playwright
with sync_playwright()as playwright: browser = playwright.chromium.launch( headless=True, proxy={"server": os.environ["PROXY_SERVER"],"username": os.environ["PROXY_USERNAME"],"password": os.environ["PROXY_PASSWORD"],},) page = browser.new_page() response = page.goto("https://api.ipify.org?format=json", wait_until="domcontentloaded", timeout=30_000,)print("HTTP status:", response.status if response elseNone)print(page.text_content("body")) browser.close()
Mẫu Python này đã được chạy trực tiếp với Playwright 1.62.0 trên một proxy địa phương được kiểm soát và trả về HTTP 200 thông qua proxy đó. Nếu Python bất đồng bộ đã được sử dụng, áp dụng cùng một từ điển proxy cho async_playwright().chromium.launch() và await mỗi thao tác.
Bạn nên xác minh như thế nào rằng Playwright thực sự đang sử dụng proxy?
Xác minh lộ trình qua ba giai đoạn để một trang phức tạp không che giấu lỗi thực tế.
1. Kiểm tra proxy độc lập
Sử dụng curl từ cùng một máy hoặc container chạy Playwright:
Nếu curl không thể kết nối, hãy sửa hostname, cổng, firewall, thông tin đăng nhập hoặc tài khoản trước khi gỡ lỗi mã trình duyệt. Nếu curl thành công nhưng Playwright thất bại, hãy so sánh các giá trị scheme và thông tin đăng nhập chính xác được sử dụng bởi cả hai quá trình.
2. Tải một endpoint nhỏ được ủy quyền
Chạy ví dụ khởi động tối thiểu và kiểm tra cả trạng thái HTTP và địa chỉ IP rời bỏ được báo cáo. So sánh với yêu cầu trực tiếp, nhưng hãy xóa cả hai giá trị khỏi các nhật ký chia sẻ. Một địa chỉ IP khác cùng với HTTP 200 xác nhận định tuyến; điều này không đảm bảo rằng một ứng dụng đầy đủ sẽ hoạt động.
3. Kiểm tra các subrequest của trang thực
Các trang hiện đại có thể xuất HTML trong khi các script, API, font hoặc hình ảnh thất bại. Thêm các trình nghe tạm thời:
Các sự kiện này cho biết liệu sự cố là ở mức độ vận chuyển hay là một phản hồi HTTP. Giữ lại một bản theo dõi Playwright vào lúc thất bại và kiểm tra nó cục bộ; các bản theo dõi có thể chứa URL, tiêu đề, nội dung trang và dữ liệu nhạy cảm khác, vì vậy hãy hạn chế quyền truy cập và thời gian lưu giữ.
Làm thế nào để khắc phục các lỗi proxy Playwright phổ biến nhất?
Khắc phục ERR_PROXY_CONNECTION_FAILED
Xác nhận rằng server bao gồm một scheme được hỗ trợ và cổng chính xác. http://host:port có nghĩa là Playwright kết nối với một proxy HTTP; socks5://host:port có nghĩa là SOCKS5. Một host:port không có là HTTP, nhưng việc có một scheme rõ ràng thì dễ kiểm tra hơn.
Kiểm tra DNS và kết nối từ runtime thực tế. Trong Docker, 127.0.0.1 và localhost chỉ đến chính container, không phải máy tính chủ. Sử dụng một tên dịch vụ có thể tiếp cận rõ ràng hoặc cổng gateway đã được phê duyệt thay vì sao chép một địa chỉ chỉ có host vào container.
Khắc phục HTTP 407 Cần Xác Thực Proxy
Một phản hồi 407 có nghĩa là proxy đã được truy cập nhưng không chấp nhận thông tin đăng nhập. Sao chép lại tên người dùng được tạo, thay đổi mật khẩu nếu nó có thể đã bị lộ và xác nhận rằng thông tin đăng nhập vẫn còn hoạt động. Không thử lại mật khẩu bị từ chối trong một vòng lặp chặt chẽ vì điều đó làm mờ nhật ký và có thể kích hoạt các biện pháp bảo vệ tài khoản.
Playwright chấp nhận tên người dùng và mật khẩu như những giá trị riêng biệt. Tránh việc tự xây dựng chuỗi http://user:pass@host, đặc biệt khi các bí mật chứa các ký tự đã được đặt trước.
Chẩn đoán phản hồi 403 và 429
Một phản hồi 403 hoặc 429 thường xuất phát từ đích đến, không phải từ proxy. Xác nhận nguồn gốc của phản hồi trong bản theo dõi hoặc tiêu đề, giảm tỷ lệ yêu cầu, duy trì phiên ổn định và kiểm tra xem quyền truy cập có được phép hay không. Xoay vòng proxy không phải là một sự thay thế cho việc ủy quyền và không nên được sử dụng để thoát khỏi một khối hoặc giới hạn tỷ lệ.
Khắc phục thời gian chờ và tải trang một phần
Trước tiên hãy thử nghiệm một endpoint nhỏ. Nếu nó nhanh, ghi lại các tài nguyên con thất bại trên trang thực tế. Sau đó tăng thời gian chờ chỉ sau khi xác định công việc chậm chính đáng; một con số lớn hơn sẽ không khắc phục được một cổng chết hoặc thông tin đăng nhập không hợp lệ.
Giới hạn đồng thời thay vì mở một số lượng ngữ cảnh không giới hạn. Mỗi ngữ cảnh có thể tạo nhiều kết nối và yêu cầu nền, do đó độ đồng thời của trang danh nghĩa đánh giá thấp tải thực tế. Sử dụng thử lại chỉ cho các lỗi kết nối tạm thời và thời gian chờ, với một giới hạn thấp và áp dụng cơ chế giảm dần.
Khắc phục lỗi chứng chỉ
Đừng làm ignoreHTTPSErrors: true trở thành phương pháp khắc phục mặc định. Một lỗi chứng chỉ có thể chỉ ra một proxy công ty đang chặn, một cơ quan chứng nhận riêng tư hoặc một endpoint bất ngờ. Cài đặt CA đã được phê duyệt trong kho tin cậy của runtime và xác minh quyền sở hữu của nó trước khi tin tưởng vào nó.
Tại sao HTTPS_PROXY không khắc phục lưu lượng trang Playwright?
HTTPS_PROXY có thể cấu hình tải trình duyệt được thực hiện bởi npx playwright install; nó không giống như tùy chọn proxy trong runtime của Playwright. Hướng dẫn cài đặt proxy trình duyệt chính thức sử dụng mẫu này:
Sau khi cài đặt, cấu hình lưu lượng trang bằng chromium.launch({ proxy }), browser.newContext({ proxy }), hoặc use.proxy của Playwright Test. Xem xét khả năng kết nối tải xuống và khả năng kết nối runtime của trình duyệt như hai kiểm tra riêng biệt.
Quy tắc bỏ qua ảnh hưởng như thế nào đến việc thử nghiệm proxy?
Giá trị bypass tùy chọn là danh sách các miền được phân tách bằng dấu phẩy mà nên kết nối trực tiếp. Một mục nhập rộng hoặc vô tình có thể khiến việc kiểm tra IP có vẻ không thay đổi ngay cả khi proxy được cấu hình đúng cho các máy chủ khác:
Giữ cho các quy tắc bypass hẹp và tài liệu lý do tại sao mỗi máy chủ cần truy cập trực tiếp. Việc xác minh trực tiếp cho hướng dẫn này đã xác nhận rằng một mục tiêu được kiểm soát đã được bỏ qua và trả về trực tiếp, trong khi các yêu cầu không bị bỏ qua đã đi qua proxy.
Làm thế nào để bạn xoay vòng proxy mà không làm gián đoạn phiên trình duyệt?
Xoay vòng giữa các phiên logic, không phải giữa các yêu cầu bên trong một quy trình làm việc của trình duyệt. Một ánh xạ thực tế là một phiên proxy cho một ngữ cảnh trình duyệt: cookies, bộ nhớ cục bộ, bộ nhớ đệm và lối ra vẫn giữ được sự đồng nhất cho đến khi ngữ cảnh đóng lại.
Nếu cần một lộ trình mới, hãy đóng ngữ cảnh cũ, tạo cấu hình phiên tiếp theo được phê duyệt và tạo một ngữ cảnh mới. Giữ tính đồng thời trong giới hạn của nhà cung cấp và mục tiêu, thêm khoảng lùi cho các lỗi tạm thời và ghi lại chỉ các định danh không nhạy cảm cần thiết cho chẩn đoán. Hướng dẫn IP rotation giải thích sự khác biệt giữa vòng quay ngẫu nhiên và phiên dính, trong khi hướng dẫn HTTP proxy đề cập đến các nguyên tắc cơ bản về đường hầm và xác thực.
Khi nào Nstproxy là lựa chọn thực tế cho Playwright?
Nstproxy Residential Prime Proxies là một tùy chọn thực tế khi thử nghiệm trình duyệt được ủy quyền hoặc thu thập trên web công khai cần định tuyến dân cư và kiểm soát phiên được quản lý. Playwright có thể sử dụng cổng HTTP, HTTPS hoặc SOCKS5 được tạo qua đối tượng proxy tiêu chuẩn của nó, vì vậy không cần SDK trình duyệt cụ thể của nhà cung cấp. Một Kênh tách biệt cấu hình proxy khỏi mã ứng dụng, trong khi các thông số vị trí và phiên được tạo cho phép một nhà điều hành chọn hành vi định tuyến yêu cầu từ bảng điều khiển hiện tại. Sự liên tục của phiên dính có thể được ánh xạ đến một ngữ cảnh trình duyệt, và vòng quay có thể xảy ra khi ngữ cảnh tiếp theo bắt đầu. Xác nhận tính sẵn có hiện tại, mục tiêu, gói và tùy chọn phiên trong bảng điều khiển đã xác thực trước khi xác định tải công việc sản xuất.
Tích hợp Playwright tiêu chuẩn: Sử dụng cổng được tạo với các cài đặt proxy ở cấp độ khởi động, cấp độ ngữ cảnh hoặc Playwright Test.
Kiểm soát phiên: Giữ một giá trị phiên đã tạo ổn định cho một luồng logic, sau đó thay đổi nó cho ngữ cảnh được phê duyệt tiếp theo khi cần vòng quay.
Cấu hình vị trí: Chọn mục tiêu có sẵn hiện tại trong bảng điều khiển cho định vị hợp pháp, xác minh quảng cáo hoặc QA khu vực.
Phân tách thông tin đăng nhập: Lưu thông tin đăng nhập Kênh trong một trình quản lý bí mật thay vì nhúng chúng vào các tệp thử nghiệm hoặc dấu vết.
Nstproxy không thay đổi các điều khoản của một trang web, quy tắc truy cập hoặc nghĩa vụ bảo mật. Sử dụng nó cho các mục tiêu công khai hoặc được ủy quyền, giảm thiểu dữ liệu cá nhân và ngừng lại khi một chủ sở hữu điểm đến hoặc tài khoản rút lại quyền truy cập.
Quy trình khắc phục sự cố proxy Playwright nhanh nhất là gì?
Sử dụng chuỗi này từ rìa mạng vào trong:
Xác thực máy chủ, cổng, chế độ và thông tin đăng nhập với curl từ cùng một runtime.
Chạy một kịch bản Playwright với một trang chống lại một điểm cuối được ủy quyền nhỏ.
Xác nhận IP lối ra đã thay đổi, sau đó xóa nó khỏi đầu ra chia sẻ.
Tái tạo với buổi ra mắt, ngữ cảnh hoặc phạm vi Playwright Test mong muốn.
Bật ghi lại lỗi yêu cầu và giữ lại một dấu vết cho một lần chạy thất bại.
Phân tách các lỗi proxy khỏi phản hồi HTTP mục tiêu như 403 hoặc 429.
Kiểm tra DNS của container, tường lửa, chứng chỉ, quy tắc bỏ qua và giới hạn tài nguyên.
Thêm các lần thử giới hạn chỉ sau khi lớp lỗi được biết đến.
Quy trình này tránh được lỗi phổ biến nhất: thay đổi các cờ trình duyệt, thời gian chờ và nhà cung cấp proxy đồng thời mà không biết lớp nào đã thất bại.
Kết luận
Khi một proxy Playwright không hoạt động, hãy bắt đầu với phạm vi và vận chuyển: sử dụng proxy khởi động cho toàn bộ trình duyệt, proxy ngữ cảnh cho các phiên cô lập, hoặc use.proxy cho Playwright Test. Xác minh cổng một cách độc lập, giữ thông tin đăng nhập trong các trường riêng biệt và sử dụng các sự kiện yêu cầu cộng với dấu vết để phân biệt các lỗi kết nối với phản hồi của điểm đến. Playwright hiện tại hỗ trợ proxy ở cấp độ ngữ cảnh mà không cần một chỗ đứng khởi động, trong khi HTTPS_PROXY cho cài đặt trình duyệt vẫn là một mối quan tâm riêng. Khi một yêu cầu ủy quyền tối thiểu hoạt động, thêm trang thực, tính đồng thời được kiểm soát và vòng quay phiên từng lớp một.
Thiết lập proxy Playwright với Nstproxy
Tạo một Kênh, sao chép cổng và thông tin đăng nhập hiện tại đã được tạo, và xác minh một yêu cầu được ủy quyền nhỏ trước khi chạy toàn bộ quy trình làm việc của trình duyệt.
Hỏi: Tại sao máy chủ proxy Playwright của tôi không hoạt động mặc dù curl hoạt động?
Playwright có thể đang sử dụng thông tin đăng nhập khác, một cấu trúc proxy khác, một quy tắc vượt qua không mong muốn, hoặc phạm vi cấu hình sai. So sánh các giá trị chính xác, chạy một kịch bản trình duyệt tối thiểu, và ghi lại các sự kiện requestfailed trước khi kiểm tra toàn bộ trang.
Hỏi: Playwright có thể sử dụng proxy đã xác thực không?
Có. Đặt URL proxy trong server và cung cấp username và password dưới dạng các trường riêng biệt tại thời điểm khởi động, ngữ cảnh, hoặc cấp độ Playwright Test.
Hỏi: Mỗi ngữ cảnh của Playwright có thể sử dụng một proxy khác nhau không?
Có. Tạo mỗi ngữ cảnh với đối tượng proxy riêng. Phiên bản Playwright hiện tại không yêu cầu một proxy giả trong quá trình khởi động trình duyệt trước khi cấu hình proxy ở cấp độ ngữ cảnh.
Hỏi: Playwright có hỗ trợ proxy SOCKS5 không?
Có. Sử dụng giá trị máy chủ như socks5://proxy.example:1080, và xác nhận rằng cổng và phương thức xác thực hỗ trợ giao thức đã chọn.
Hỏi: Tại sao Playwright hiển thị HTTP 407?
HTTP 407 có nghĩa là proxy đã từ chối xác thực. Kiểm tra tên người dùng, mật khẩu, trạng thái tài khoản hoặc Kênh đã được tạo, và xem liệu một bí mật có bị cắt cụt hoặc sao chép với khoảng trắng không.
Hỏi: Tại sao việc thiết lập HTTPS_PROXY không thay đổi IP trình duyệt?
Playwright tài liệu HTTPS_PROXY để tải xuống nhị phân trình duyệt qua một proxy. Cấu hình lưu lượng truy cập của trang thời gian chạy một cách riêng biệt với launch({ proxy }), newContext({ proxy }), hoặc use.proxy của Playwright Test.
Hỏi: Tôi có nên xoay vòng proxy trên mỗi yêu cầu Playwright không?
Không. Giữ một phiên proxy trong suốt thời gian của một ngữ cảnh trình duyệt logic, sau đó xoay vòng khi tạo ngữ cảnh tiếp theo. Điều này giữ cho sự nhất quán qua cookie, lưu trữ, điều hướng, và trạng thái phiên phía máy chủ.
Marcus Chen
Aug. 7th 2026
Trải nghiem Nstproxy - Bat dau dung thu mien phi ngay
110M+ IP that voi ti le truy cap thanh cong 99.9%
Truy cap ngay cac pool proxy residential, datacenter, IPv6 va ISP cao cap.
Phan hoi trung binh ~0.5s cho tac vu dong thoi cao