2013-02-17 34 views

回答

1

它根據給出的參數計算出GETPOST。在你的情況下,它會是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() 
+0

我正要張貼完全相同的答案。哦。太晚了。 :( – 2013-02-17 08:56:53

+0

明白了,謝謝 – ShuSon 2013-02-17 09:00:25

1

documentation

urllib2.urlopen(url[, data][, timeout])

data可以是指定的附加數據發送到服務器的字符串,如果不需要這樣的數據,則爲 或None。目前HTTP請求是 只有那些使用data;當提供參數data時,HTTP請求將是POST而不是 GETdata應該是 格式的標準application/x-www-form-urlencoded緩衝區。函數採用2元組的映射或序列 ,並以此格式返回字符串。 urllib2模塊通過連接發送包含close頭的HTTP/1.1 請求。

相關問題