Mechanize in Python Changes HTTP headers case



我正在尝试通过使用python中的mechanize来自动化网页请求。当我添加自定义标题时,例如

X-Session= 'abc'

X-Auth='123'通过使用添加标头函数。

object=mechanize.Browser()
object.addheaders=[('X-Session','abc'),('X-Auth','123')]

它将这些标头更改为 X-sessionX-auth .我相信由于服务器无法对我进行身份验证。任何人都可以帮助如何维护案件吗?谢谢。

机械化期望两个项目元组作为标题,第一项是标题名称,第二项是值,所以你必须做:

object.addheaders=[('X-Session','abc'), ('X-Auth','123')]

(两个元素的两个元组,而不是一个包含 4 个元素的元组(。


要检查 Mechanize 将随查询一起发送的标头,您可以执行以下操作:

print(request.header_items())

这应该打印如下内容:

[('X-Session','abc'), ('X-Auth','123')]

文档:http://wwwsearch.sourceforge.net/mechanize/doc.html#adding-headers

最新更新