设置Sec-Gpc请求头遇InvalidHeader错误,Chrome表现存疑求解决
问题解答
错误原因
你遇到的requests.exceptions.InvalidHeader错误,核心原因是Python的requests库要求所有请求头的值必须是字符串(str)或字节(bytes)类型,但你代码里给Sec-Gpc字段传的是整数1,类型不匹配触发了库的格式校验,因此报错。
不依赖第三方库的解决方法
只需将整数1改为字符串形式的"1",修改后的请求头代码如下:
headers = { ..., "Sec-Gpc": "1", ... }
修改后即可符合requests的请求头格式要求,正常发送请求。
关于Chrome发送Sec-Gpc的补充说明
虽然部分文档标注Chrome原生不支持该请求头,但实际Chrome在开启「全局隐私控制(GPC)」功能时,会自动发送这个请求头——这并非扩展导致,而是Chrome内置的隐私设置触发的,和你使用的requests/驱动环境无关。
内容的提问来源于stack exchange,提问作者The Amateur Coder
相关产品推荐
相关产品推荐

