Playwright发送POST请求时自定义Header被转小写问题求助
解决Playwright保留自定义请求头大小写的问题
Playwright默认会将请求头字段转换为小写(遵循HTTP/2规范),但如果服务端严格要求特定大小写的自定义头,可通过以下方法解决:
- 使用
Headers对象替代普通对象传递请求头,Headers实例可以保留自定义头的原始大小写格式。
修改后的代码示例:
// 创建Headers实例,手动添加需保留大小写的请求头 const customHeaders = new Headers(); customHeaders.append('Accept', apiHeaders().ACCEPT); customHeaders.append('Content-Type', apiHeaders().CONTENT_TYPE); customHeaders.append('X-OO-SERVLET-TOKEN', apiHeaders().X_OO_SERVLET_TOKEN); // 发送POST请求时使用该Headers实例 const response = await request.post(path, { headers: customHeaders, data: JSON.stringify(orderData().TOMORROWDELIVERYDATE) });
原理说明:
Playwright对普通对象形式的headers会做自动规范化(转小写),而Headers对象遵循Fetch API规范,会保留你手动添加的头字段的原始大小写,从而绕过内部的规范化处理,满足服务端对特定头格式的要求。
内容的提问来源于stack exchange,提问作者yasafoo
相关产品推荐
相关产品推荐

