python urllib2 http get、post請求的區別
python 一般可以用模塊urllib2 來實現GET POST的http 請求
GET 請求
import os,sys
import os,sys
import urllib2
http_str = 'http://127.0.0.1:12345/apps/' + serviceLine + '/clusters/' + clusterName
url = http_str + '/machine_info'
req = urllib2.Request(url) # url 轉換成發起get 請求的url
result = urllib2.urlopen(req) # 發起GET http服務
res = result.read() #把結果通過.read()函數讀取出來
slave_info = json.loads(res) #把返回結果(string) 轉換成json,方便處理,
print slave_info['content']['slave'] # 打印json 串的dict 信息
POST 請求 【post 跟get 去請求的區別是部分參數寫在程序裏面,不是在http 請求裏面】
import os,sys
import os,sys
import urllib2
http_str = 'http://127.0.0.1:12345/apps/' + serviceLine + '/clusters/' + clusterName
url1 = http_str + '/ops/rpm_update' # url 部分
params1 = {"app_rpm_id":"-1","rpm_xxx":rpmxxxxx} #參數部分
params = json.dumps(params1) # http 服務器要求傳入的params 必須是json 對象,所以這裏需要轉換一下;如果http 服務器沒有要求,就可以不轉換
response = urllib.urlopen(url1,params) #發送POST 請求 print response # 因為http 服務器已經規定好返回的結果就是一個json 對象,所以不用再轉換成json;
print response.read() # 把結果數據通過read()讀出來;如果http返回的不是json 對象,還需要轉換成json 對象
python urllib2 http get、post請求的區別