我在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错误。有什么遗失的吗?
答案 0 :(得分:0)
400
是一个非常模糊的回复代码。某些原因可能无效或缺少Host
或Content-Length
标头。
答案 1 :(得分:0)
从我的网络服务器编程,我可以告诉你,你只需要“http://example.com?example=&hello=hi".(用一个&符号加入你的网址和数据。)
答案 2 :(得分:0)
实际上,LiveHTTPHeaders没有捕获该请求所需的隐藏信息,所以我转向fiddler获取更详细的报告和分析,问题解决了。