【发布时间】:2013-08-04 18:09:13
【问题描述】:
我正在编写一个 Python2 脚本来在网站中执行一些自动操作。我正在使用 urllib/urllib2 来完成这项任务。它涉及GET和POST请求,自定义标头等。
我偶然发现了一个文档中似乎没有提到的问题。假设我们有以下有效 url:https://stackoverflow.com/index.php?abc=def&fgh=jkl,我们需要在那里执行一个 POST 请求。
我的代码是什么样子的(如果发现任何拼写错误请忽略):
data = urllib.urlencode({ "data": "somedata", "moredata": "somemoredata" })
urllib2.urlopen(urllib2.Request("https://stackoverflow.com/index.php?abc=def&fgh=jkl", data))
没有显示错误,但根据网络服务器,请愿书正在接收到“https://stackoverflow.com/index.php”而不是“https://stackoverflow.com/index.php?abc=def&fgh=jkl”。这里有什么问题?
我知道我可以使用Requests,但我想先使用 urllib/urllib2。
【问题讨论】:
-
不要当英雄,使用 python-requests。在困难模式下玩 python 没有可解锁的成就。 :D