`
kanpiaoxue
  • 浏览: 1744957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用python自带的http模块(urllib2)发送POST请求

 
阅读更多

 

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

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics