Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的机械化更改HTTP头_Python_Mechanize - Fatal编程技术网

Python中的机械化更改HTTP头

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。 我相信由于服务器无法验证我的身份。 有人能帮忙维持这个案子吗? 谢谢。机械化预期

我正试图通过在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
。 我相信由于服务器无法验证我的身份。 有人能帮忙维持这个案子吗?
谢谢。

机械化预期两项元组作为标题,第一项是标题名称,第二项是值,因此您必须执行以下操作:

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”。