import json
import requests
from Common.Log_common import LOG
http=requests.session()
class Http_Requests():
def http_get(self,url,data,header):#get请求封装,两种情况,data为空和不为空,
# 这样的好处是写case时,无论data是否为空,直接填入封装的请求方法
if not url.startswith('http://'):#先加上http://
url='s%s%'%('http://',url)
try:
if data is None:
response=http.get(url=url,headers=header)
LOG.info('请求地址:%s'%(url))
LOG.info('请求入参:%s'%(data))
LOG.info('请求headers:%s' % (header))
else:
response = requests.get(url=url, params=data, headers=header)
LOG.info('请求地址:%s' % (url))
LOG.info('请求入参:%s' % (data))
LOG.info('请求headers:%s' % (header))
except requests.RequestException as e:
LOG.info('请求异常%s'%(url))
except requests.RequestsDependencyWarning as e:
LOG.info('请求异常%s' % (url))
response_dic=dict()#构造一个字典来保存response里面的内容
response_dic['code']=response.status_code
response_dic['text']=response.text
try:
response_dic['body']=response.json()
except Exception:
LOG.info('获取response body异常')
LOG.info('response body:%s'%(response_dic['body']))
return response_dic
def http_post(self,url,data,header):
#封装post请求,header中的Content-Type可能为表单或者json,
if not url.startswith('http://'):
url='%s%s' % ('http://', url)
if header["Content-Type"]=='application/json' :
data=json.dumps(data)
else:
data=data
try:
if data is None:
response=http.post(url=url,headers=header)
LOG.info('请求地址:%s' % (url))
LOG.info('请求入参:%s' % (data))
LOG.info('请求header:%s' % (header))
else:
response=http.post(url,data=data,headers=header)
LOG.info('请求地址:%s' % (url))
LOG.info('请求入参:%s' % (data))
LOG.info('请求header:%s' % (header))
except requests.RequestException as e:
LOG.info('请求异常%s'%(url))
except requests.RequestsDependencyWarning as e:
LOG.info('请求异常%s' % (url))
response_dic=dict()#构造一个字典来保存response里面的内容
response_dic['code']=response.status_code
response_dic['text']=response.text
try:
response_dic['body']=response.json()
except Exception:
LOG.info('获取response body异常')
LOG.info('response body:%s'%(response_dic['body']))
return response_dic
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异