• python3.6+requests实现接口自动化4


    逐步完善中……

    本篇记录封装post请求

    目录

    1、封装header

    2、封装url

    3、封装body

    4、封装post

    1、封装header

    这一部分主要将cookies或者token传入,这样不用每次都输入header信息

     def myheader(self):
            headers={
                     "Content-Type": "application/json;charset=UTF-8",
                     "token": "%s" %usetoken}
            return headers
    

      

    2、封装url

    ur这部分主要是将host和请求路径分割开来,并且每次如果host一样就默认,不一样则支持传入

    第一步:封装host

    def myhost(self,host=None):
            if host==None:
                host="http://baidu.com"
            else:
                host=host
            return host

    第二步:封装url

    主要是将传入的接口路径和host做一个组合

    def myurl(self,url):
            myurl="{}{}"
            host=self.myhost()
            myurl=myurl.format(host,url)
            return myurl

    3、封装body

    这里主要是为了方便每次直接传入json格式的body,当然requests的post方法中本身也是支持传入json的,这里封装仅做参考,也可以不封装

     def data(self,data):
            data=json.dumps(data)
            return data

    4、封装post

     整合前面封装的,将所有方法组合起来

    from common import mytoken
    import requests
    import json
    usetoken=mytoken.mytoken()
    class myRequests():
        def myheader(self):
            headers={
                     "Content-Type": "application/json;charset=UTF-8",
                     "token": "%s" %usetoken}
            return headers
        def myhost(self,host=None):
            if host==None:
                host="http://baidu.com"
            else:
                host=host
            return host
        def data(self,data):
            data=json.dumps(data)
            return data
        def myurl(self,url):
            myurl="{}{}"
            host=self.myhost()
            myurl=myurl.format(host,url)
            return myurl
        def post(self,header,url,data):
            myurl=self.myurl(url)
            header1=self.myheader(method,appkey)
            data1=self.data(data)
            response=requests.post(myurl,headers=header1,data=data1)
            return response.json()
    
    if __name__=="__main__":
         m=myRequests()
         url1=xxx
         header1={}
         body1={}
         q=m.post(url1,header1,body1)
    print m

      

  • 相关阅读:
    Java8中利用stream对map集合进行过滤的方法
    安装数据库MySQL,启动时报错 服务没有响应控制功能 的解决办法
    mysql 安装时 失败,提示 因为计算机中丢失 msvcp140.dll
    复习一下数学排列组合公式的原理
    java如何进行排列组合运算
    Redis 分布式锁:使用Set+lua替代 setnx
    深入详解Go的channel底层实现原理【图解】
    MYSQL MVCC实现原理详解
    聚簇索引和非聚簇索引,全在这!!!
    深度解密Go语言之 map
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/13232791.html
Copyright © 2020-2023  润新知