【发布时间】:2012-07-30 18:39:45
【问题描述】:
我正在尝试使用我的 python 脚本打印我正在执行的 POST 请求。我想知道是否有办法打印发布请求,以便查看参数是如何通过脚本传递的,我希望将其与浏览器进行比较。我通读了 urllib2 api,但找不到可以帮助我打印 POST 请求的函数。非常感谢任何关于此的指针
【问题讨论】:
我正在尝试使用我的 python 脚本打印我正在执行的 POST 请求。我想知道是否有办法打印发布请求,以便查看参数是如何通过脚本传递的,我希望将其与浏览器进行比较。我通读了 urllib2 api,但找不到可以帮助我打印 POST 请求的函数。非常感谢任何关于此的指针
【问题讨论】:
如果您使用的是urllib2.Request,则必须将 POST 请求的主体提供为 application/x-www-form-urlencoded 字符串。
由于您负责构建 POST 正文,因此您可以轻松打印或记录它。
编辑
还有urllib2.Request.get_data()。也许你可以给我们这个。
编辑 2
像这样使用它:
req = urllib2.Request("http://example.com/", "foo:bar")
print req.get_method() # => 'POST'
print req.get_data() # => 'foo:bar'
res = urllib2.urlopen(req)
print res.getcode() # => 200
print res.headers.items() # => [('transfer-encoding', 'chunked'), ...
【讨论】: