python代码封装一个request请求

代码如下:

import json

import requests
from loguru import logger


class HttpRequests:

    def __init__(self):
       #实例化一个session类
       self.s = requests.Session()
       # #设置全局通用的请求头
       self.s.headers = {"Content-Type":"application/json"}

    def send_req(self,method,url,data=None, token=None, **kwargs):
        """
        :param method:方法
        :param url:请求的url
        :param data: 字符串类型
        :param token:
        :param kwargs:
        :return:
        """
        logger.info(f"请求url为:{url}")
        logger.info(f"请求method为:{method}")
        logger.info(f"请求datas为:{data}")
        if method.upper() == "GET":
            resp = self.s.get(url, params=data, **kwargs)
        else:
            resp = self.s.request(method, url, data=data, **kwargs)
        logger.info(f"http响应状态码为:{resp.status_code}")
        logger.info(f"响应body为:\n{resp.text}")
        return resp

    def __header(self, token=None):
        if token:
            # self.s.headers["Authorization"] = token
            self.s.headers.update({"Authorization": token})
        logger.info(f"请求headers为:{self.s.headers}")


if __name__ == '__main__':
    url = "****************ip*************/login"
    param = {"pwd": "12345678","user": "陈然"}
    # token="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjozLCJ1c2VybmFtZSI6ImNoZW5yYW4iLCJleHAiOjE2MDA5MTA3NjEsImVtYWlsIjoiY3IxMDQ5MTYyMjg2QDE2My5jb20ifQ.Htpfw60gVioi7kyh9Vd4MLVDl_rlgCZJrliM4Ar1ZAg"
    # headers={'Authorization':"JWT"+token}
    res = HttpRequests().send_req("post",url,json.dumps(param))
    #data数据格式的调用需要区分是字典还是json,如果是字典就直接调用【param】,如果是json就需要json.dumps()调用
    print(res.json())

 

posted @ 2022-11-11 21:53  然后呢。。。  阅读(236)  评论(0编辑  收藏  举报