最近需要在 linux 环境下拨测线上服务,于是写了一个 python 的脚本在此分享,话不多说先上代码
import urllib,urllib2,httplib,json,gzip
from cStringIO import StringIO
data = {
'data1': 1,
'data2': 2
}
headers = {'Content-type':'application/json',
'Accept-Encoding':'gzip'}
json_data = json.dumps(data)
servers = ['http://www.baidu.com',
'http://www.youku.com']
for url in servers:
req = urllib2.Request(url = url,headers = headers,data = json_data)
try:
res_data = urllib2.urlopen(req)
except:
print "server",url,"is not ok!"
continue
buf = StringIO(res_data.read())
f = gzip.GzipFile(mode = 'rb',fileobj = buf)
try:
r_data = f.read()
finally:
f.close()
if r_data.find("200") == -1:
print "server",url,"is not ok!"
else:
print "server",url,"is ok!"
print r_data
功能说明:
1、 支持多个服务接口拨测
2、响应内容支持 gzip 解压