【发布时间】:2010-03-03 09:27:35
【问题描述】:
我只想要一个可以接受 2 个参数的函数:
- 要发布到的 URL
- 参数字典
如何用 httplib 做到这一点?谢谢。
【问题讨论】:
我只想要一个可以接受 2 个参数的函数:
如何用 httplib 做到这一点?谢谢。
【问题讨论】:
>>> import httplib, urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
... "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
>>> conn.request("POST", "/cgi-bin/query", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()
【讨论】:
urllib.urlencode 只负责对要传递的字符串进行 url 编码,如果您将其打印出来,您会发现它只是一个字符串
一个更简单的,只使用 urllib:
import urllib
params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
f = urllib.urlopen("http://www.example.org/cgi-bin/query", params)
print f.read()
在 Python 文档中找到 urllib module
【讨论】:
, params 添加的,而不是% params。