尝试使用python mechanize执行HTTP POST时出现400错误请求错误

时间:2011-07-15 15:41:21

标签: python mechanize mechanize-python

我在firefox中执行HTTP POST时使用Live HTTP标头检查了标头信息,然后我尝试使用mechanize执行此操作,这给我带来了400个错误的请求错误。继承我的代码:

MechBrowser = mechanize.Browser()

LoginUrl = "http://example.com"
LoginHeader = {"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1 (.NET CLR 3.5.30729)", "referer": "http://example.com"}
LoginData = "example=&hello=hi"

LoginReq = urllib2.Request(LoginUrl, LoginData, LoginHeader)
LoginResposne = MechBrowser.open(LoginReq)

从LiveHTTPHeaders复制变量,我仍然得到400错误。有什么遗失的吗?

3 个答案:

答案 0 :(得分:0)

400是一个非常模糊的回复代码。某些原因可能无效或缺少HostContent-Length标头。

答案 1 :(得分:0)

从我的网络服务器编程,我可以告诉你,你只需要“http://example.com?example=&hello=hi".(用一个&符号加入你的网址和数据。)

答案 2 :(得分:0)

实际上,LiveHTTPHeaders没有捕获该请求所需的隐藏信息,所以我转向fiddler获取更详细的报告和分析,问题解决了。