python的requests的package非常好用,但是它必须预装。遇到无法预装的情况如何处理?可以使用python自带的package来处理http请求。
import logging
import json
import urllib2
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s [PID:%(process)d] %(levelname)s --> %(message)s')
logger = logging.getLogger(__name__)
def post_cluster():
api_url = 'http://localhost:8080/hello'
api_token = 'hello-token'
logger.info('url:%s,api_token:%s', api_url, api_token)
json_obj = {}
json_obj['cluster_name'] = 'cluster_name'
json_obj['host'] = '127.0.0.1'
json_obj['port'] = 8080
headers = {'Content-Type': 'application/json', 'authToken': api_token}
data = json.dumps(json_obj)
logger.info('data:%s', data)
req = urllib2.Request(api_url, data, headers=headers)
response = urllib2.urlopen(req)
rs = response.read().decode()
print rs
result_obj = json.loads(rs)
if 0 == result_obj['status']:
logger.info('successfully!')
else:
logger.error('failed! ' + result_obj['errorMessage'])
pass