HandleRequest.py 3.13 KB
# @Time    : 2022/8/24 11:40
# @Author  : 付孟奇
from requests import Timeout, RequestException
import requests


class DealRequest:
    def __init__(self, method, url, headers, params):
        self.method = method
        self.url = url
        self.headers = headers
        self.params = params

    def return_response(self):
        return self.res_request()

    def res_request(self):
        if self.method == 'POST':
            res = self.res_post(self.url, self.headers, self.params)
        elif self.method == "GET":
            res = self.res_get(self.url, self.headers, self.params)
        elif self.method == "PUT":
            res = self.res_put(url=self.url, params=self.params)
        elif self.method == "DELETE":
            res = self.res_delete(url=self.url, params=self.params, headers=self.headers)
        else:
            res = {'code': 1, 'result': '接口请求失败,当前请求方式不支持'}
        return res

    def res_post(self, url, headers, params):
        try:
            res = requests.request('POST', url, headers=headers, json=params)
            if res.status_code == 200:
                return res.json()
            else:
                return {'code': 1, 'result': '接口请求失败,返回状态码:%s' % str(res.status_code)}
        except Timeout as e:
            return {'code': 1, 'result': '请求超时:%s' % e}
        except RequestException as e:
            return {'code': 1, 'result': '请求异常:%s' % e}
        except Exception as e:
            return {'code': 1, 'result': 'post请求出错,出错原因:%s' % e}

    def res_get(self, url, headers, params):
        try:
            if params == '':
                res = requests.get(url, headers=headers)
            else:
                res = requests.get(url, headers=headers, params=params)
            if res.status_code == 200:
                return res.json()
            else:
                return {'code': 1, 'result': '接口请求失败,返回状态码:%s' % str(res.status_code)}
        except Timeout as e:
            return {'code': 1, 'result': '请求超时:%s' % e}
        except RequestException as e:
            return {'code': 1, 'result': '请求异常:%s' % e}
        except Exception as e:
            return {'code': 1, 'result': 'get请求出错,出错原因:%s' % e}

    def res_put(self, url, params):
        try:
            r = requests.put(url, params=params)
        except Timeout as e:
            return {'code': 1, 'result': '请求超时:%s' % e}
        except RequestException as e:
            return {'code': 1, 'result': '请求异常:%s' % e}
        except Exception as e:
            return {'code': 1, 'result': 'put请求出错,出错原因:%s' % e}

    def res_delete(self, url, headers, params):
        try:
            r = requests.delete(url, headers=headers, params=params)
        except Timeout as e:
            return {'code': 1, 'result': '请求超时:%s' % e}
        except RequestException as e:
            return {'code': 1, 'result': '请求异常:%s' % e}
        except Exception as e:
            return {'code': 1, 'result': 'delete请求出错,出错原因:%s' % e}