为独立的 Playwright API 上下文设置代理
把预期的代理传给独立的 Playwright API 请求上下文,而不要假设浏览器启动设置会自动配置它们。
import { request as apiRequests } from '@playwright/test';
const api = await apiRequests.newContext({
proxy: { server: 'http://proxy.example:8080' }
});
try {
const response = await api.get('https://example.com/');
} finally {
await api.dispose();
}创建独立的 APIRequestContext 时传入 proxy。若使用公共代理,从 HTTP 代理列表中选择一个 HTTP 端点,并替换示例代理地址;把你要访问的 API URL 保留为目标地址。该上下文拥有独立的连接配置,使用后需要 dispose。
浏览器启动设置不会配置独立创建的 API 上下文。Playwright Test 内置的 request fixture 会读取相关的测试配置,但调用 newContext() 的辅助函数会形成另一个配置边界。如果浏览器导航正常而辅助函数超时,请找到该调用点并检查它收到的选项。
路由也与目标站点登录相互独立。代理凭据授权的是中间环节。网站凭据和 Cookie 授权的是目标;独立上下文不会仅因主机名匹配就继承浏览器 Cookie。与浏览器关联的请求上下文有其自身有文档记载的 Cookie 共享行为。
选择路由时保持证书校验开启。ignoreHTTPSErrors 改变的是校验方式,而不是该上下文使用哪个代理。