import urllib2,urllib
params = {}
resp = urllib2.urlopen('http://somewhere/',urllib.urlencode(params))
在的urlopen()方法什麼是默認的方法,這裏就不ARGV的方法「獲得」或「後」 。 這個方法弄清楚「GET」或「後」的網址就需要使用時urllib2.urlopen()打開一個URL「得到」或「後」
import urllib2,urllib
params = {}
resp = urllib2.urlopen('http://somewhere/',urllib.urlencode(params))
在的urlopen()方法什麼是默認的方法,這裏就不ARGV的方法「獲得」或「後」 。 這個方法弄清楚「GET」或「後」的網址就需要使用時urllib2.urlopen()打開一個URL「得到」或「後」
它根據給出的參數計算出GET
或POST
。在你的情況下,它會是POST
,因爲提供了一個參數字典。
使用POST
你可以做這樣的(從documentation)
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()
注意,我們在這裏傳遞一個字典功能。
要使用GET
我們只是單純通過URL(這裏我們使用字符串插值到PARAMS添加到URL,而不是將它傳遞給URL LIB)的
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()
urllib2.urlopen(url[, data][, timeout])
data
可以是指定的附加數據發送到服務器的字符串,如果不需要這樣的數據,則爲 或None
。目前HTTP請求是 只有那些使用data
;當提供參數data
時,HTTP請求將是POST
而不是GET
。data
應該是 格式的標準application/x-www-form-urlencoded
緩衝區。函數採用2元組的映射或序列 ,並以此格式返回字符串。 urllib2模塊通過連接發送包含close頭的HTTP/1.1
請求。
我正要張貼完全相同的答案。哦。太晚了。 :( – 2013-02-17 08:56:53
明白了,謝謝 – ShuSon 2013-02-17 09:00:25