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

  

原文地址:https://www.cnblogs.com/weizhideweilai/p/13232791.html