Http 使用urllib2.urlopen()打开URL';获取';或';邮政';
在urlopen()方法中,方法“get”或“post”没有argv。 此方法能否通过所需的url从以下位置计算出“get”或“post”:Http 使用urllib2.urlopen()打开URL';获取';或';邮政';,http,python-2.7,Http,Python 2.7,在urlopen()方法中,方法“get”或“post”没有argv。 此方法能否通过所需的url从以下位置计算出“get”或“post”: urllib2.urlopen(url[,数据][,超时]) 数据可以是指定要发送到服务器的其他数据的字符串, 或None如果不需要此类数据。目前HTTP请求是 仅限使用数据的用户;HTTP请求将是POST而不是 GET当提供数据参数时数据应为中的缓冲区 标准应用程序/x-www-form-urlencoded格式。这个 urllib.urlencode(
urllib2.urlopen(url[,数据][,超时])
数据
可以是指定要发送到服务器的其他数据的字符串,
或None
如果不需要此类数据。目前HTTP请求是
仅限使用数据的用户
;HTTP请求将是POST
而不是
GET
当提供数据
参数时<代码>数据应为中的缓冲区
标准应用程序/x-www-form-urlencoded
格式。这个
urllib.urlencode()
函数接受一个2元组的映射或序列
并返回此格式的字符串。urllib2模块发送HTTP/1.1
具有连接的请求:包括关闭标头
它根据给定的参数计算出
GET
或POST
。在您的情况下,它将是POST
,因为提供了参数字典
要使用POST
您可以这样做(从)
注意,我们在这里向函数传递了一个字典
要使用GET
只需单独传递URL(这里我们使用字符串插值将参数添加到URL,而不是将其传递到URL库)
我正要发布完全相同的答案。哦太晚了(
import urllib2,urllib
params = {}
resp = urllib2.urlopen('http://somewhere/',urllib.urlencode(params))
import urllib
params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
print f.read()
import urllib
params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query?%s" % params)
print f.read()