python封装一个requests请求
更新:https://blog.youkuaiyun.com/qq_42846555/article/details/126401051
from requests import Session
class Api_Request(Session):
def api_request(self,url, method, parametric_key, header=None, data=None, file=None) -> dict:
if parametric_key=="params":
parametric={"params":data}
elif parametric_key=="data":
parametric={"data":data}
elif parametric_key=="json":
parametric={"json":data}
else:
raise ValueError("“parametric_key”的可选关键字为params, json, data")
try:
res = self.request(method=method, url=url, files=file, headers=header, **parametric)
response=res.json()
except Exception as e:
raise '请求发送失败:%s'%(e)
return response
if __name__ == '__main__':
Api_Request=Api_Request()
method = 'post' #get,post,put,delete,head,options,patch
url = 'http://***.**.***.*:9999/stage-api/'
header = {"Content-Type": "application/json;charset=UTF-8","Authorization":"eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjY2YTcxMjVjLTY4N2EtNGI1OS04ODJlLTE1YTk4ZDMxMWJiNyJ9.gfkoOQ6ZQbut71eSy1vbfZax-EZGKy58i1wnEdO2sNf_NqiM_RxXjGMz4otQq25VamKIFLiAnypmRZ6u3gykdQ"}
"""
1. params:类似这种:url?参数名=参数值&参数名1=参数值1
2. data:请求头content-type是from表单类型。
3. json:请求头content-type:application/json。
"""
parametric_key="json"# params,data,json三种类型
data ={"searchValue":'',"createBy":"ff","createTime":"2022-02-25 14:16:50","updateBy":"","updateTime":'',"remark":'',"params":{},"noticeId":4,"noticeTitle":"22222","noticeType":"1","noticeContent":"wqe ","status":"0"}
#data ={}
file='' #上传文件路径
a=Api_Request.api_request(url,method,parametric_key,header,data,file)
print(a)