Python中的机械化更改HTTP头
我正试图通过在python中使用mechanize来自动化web页面请求。 当我添加自定义标题时,如Python中的机械化更改HTTP头,python,mechanize,Python,Mechanize,我正试图通过在python中使用mechanize来自动化web页面请求。 当我添加自定义标题时,如 X-Session='abc' 和 X-Auth='123' 通过使用addheader函数 object=mechanize.Browser() object.addheaders=[('X-Session','abc'),('X-Auth','123')] 它将这些标题更改为X-session和X-auth。 我相信由于服务器无法验证我的身份。 有人能帮忙维持这个案子吗? 谢谢。机械化预期
X-Session='abc'
和
X-Auth='123'
通过使用addheader函数
object=mechanize.Browser()
object.addheaders=[('X-Session','abc'),('X-Auth','123')]
它将这些标题更改为X-session
和X-auth
。
我相信由于服务器无法验证我的身份。
有人能帮忙维持这个案子吗?
谢谢。机械化预期两项元组作为标题,第一项是标题名称,第二项是值,因此您必须执行以下操作:
object.addheaders=[('X-Session','abc'), ('X-Auth','123')]
(两个元组由两个元素组成,而不是一个元组由4个元素组成)
要检查Mechanize将随查询一起发送的标题,可以执行以下操作:
print(request.header_items())
这应该打印如下内容:
[('X-Session','abc'), ('X-Auth','123')]
Doc:说http头不区分大小写。您怎么说这可能是因为服务器没有验证您的请求?是的,但由于它是一个自定义头,服务器端的实现可能不会处理不区分大小写的问题。这可能是检查与原始标题。嗨,谢谢你的回应,是的,我已经使它像一个元组只有你说,我会更新代码,这是一个打字错误。另外,当我打印request.header_items()时,它将“X-Session”显示为“X-Session”。