You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:32:06