python3 get/post请求工具类(基于request)

最近想通过python的get post请求来走一遍自己web的接口 ,所以写了一个简单的工具类。

1、创建文件 http_utils.py
import requests
import json
import urllib


# 用于header中带有access_token的情况

# get请求
def get(url, token=None, headers={}, params_obj={}):
    if token is not None:
        headers['Authorization'] = 'Bearer ' + token
    params = urllib.parse.urlencode(params_obj).encode('utf-8')
    response = requests.get(url + "?" + str(params, 'utf-8'), headers=headers)
    return to_response(response)
   
# post请求 入参为application/json这种情况
def post(url, token=None,
         headers={'Content-type': 'application/json;charset=UTF-8', 'Accept': 'application/json, text/plain'},
         params={}):
    if token is not None:
        headers['Authorization'] = 'Bearer ' + token
    response = requests.post(url, data=json.dumps(params),
                             headers=headers)
    return to_response(response)

# 将get post请求的结果(byte[])转成对象
def to_response(response):
    # 得到的是byte[]
    byte_content = response.content
    # 转成字符串
    content = str(byte_content, 'utf-8')
    # 转成对象
    return json.loads(content)

2、创建test.py(替换掉下面的get_url,post_url,params)
# 用pycharm的小伙伴如果这行出现了红色报警 可以不管或者右键将这个包变成python的包
from http_utils import get, post

if __name__ == '__main__':
    params = {'username': 'admin', 'password': '123456', 'clientType': 'WEB'}
    post_url='http://www.xxx.com/login'
    result = post(url=post_url, params=params)
    access_token = result['access_token']

	get_url="http://www.xxx.com/list"
    result = get(url=get_url, token=access_token)
    print(result)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值