0

在 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 错误。有什么遗漏吗?

4

3 回答 3

0

400是一个相当模糊的响应代码。某些原因可能无效或丢失HostContent-Length标题。

于 2011-07-15T15:57:13.063 回答
0

从我的网络服务器编程中,我可以告诉你,你只需要“http://example.com?example=&hello=hi”。(只需将你的 url 和数据用 & 号连接起来。)

于 2011-08-04T19:00:54.667 回答
0

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

于 2016-11-28T07:01:18.983 回答