Excel接口自动化(5)封装构造接口请求需要的数据

# 处理http请求(只对外开放request方法)

import requests
import json

class HttpClient():
    def __int__(self):
        pass

    def request(self, requestUrl, requestMethod, paramsType, requestData, headers = None, cookies = None):
        # 处理http请求,包括get、post
        if requestMethod.lower() == "post":  #post有form和json两种方式传参数
            if paramsType == "form":
                response = self.__post(requestUrl,data = json.dumps(requestData), headers = headers)
                return response
            elif paramsType == "json":
                response = self.__post(requestUrl,json = json.dumps(requestData), headers = headers)
                return response
        elif requestMethod.lower() == "get":   #get有拼接url和传参params两种方式
            if paramsType == "url":        #get一般都是使用url拼接
                requestUrl = "%s%s" %(requestUrl,requestData)
                response = self.__get(requestUrl, headers=headers, cookies = None)
                return response
            elif paramsType == "params":   #这种传参数的情况现在一般不用
                response = self.__get(requestUrl, requestData, headers=headers, cookies=None)
                return response
        elif requestMethod.lower() == "put/delete/...":   #如果有其他的请求方式,可以在这里继续补充
            pass

    # 私有方法(对外界隐藏)
    def __post(self, url, data = None, json = None, **kwargs):  #没有写cookies和headers,通过**kwargs可以传进来
        # 处理post各种情况的请求
        response = requests.post(url, data = data, json = json, **kwargs)   #后面的data和json是传进来的参数值,前面的data和json是post方法需要传的参数名称
        return response

    # 私有方法(对外界隐藏)
    def __get(self, url, params = None, **kwargs):
       # 处理get各种情况的请求
       response = requests.get(url = url, params = params, **kwargs)
       return response

if __name__ == "__main__":
    hc = HttpClient()
    res = hc.request("http://xx.xx.xx.xx/register/", "post", "form", {"username":"yuyu12345", "password":"yuyu12345", "email":"yuyu12345@qq.com"})
    print(res.status_code)
    print(res.json())


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值