python urllib2 实现HTTP 的GET POST 请求

1. python 一般可以用模块urllib2 来实现GET POST的http 请求


1.1 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 信息


1.2 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)