P2:认识requests库的常用方法与实战

二、全面认识requests库的常用方法

 requests是python第三方库安装命令方法如下:
 pip install requests
 

python的默认的测试用来规则
1、模块名必须以test_开头或_test结尾;
2、类名必须以Test开头;
3、测试用例名必须以test_开头

#核心的六个方法
#post、delete、put、get  =======增、删、改、查
def test_get_token(self):
        requests.post()
        requests.delete()
        requests.put()
        requests.get()
        requests.request()
        requests.session()         

Ctrl+鼠标点击,可进入该方法如下图:

def post(url, data=None, json=None, **kwargs): 
  #发送post请求
  #url:
  #data:
  #json:
  #**kwargs:
def delete(url, **kwargs):
  #发送delete请求
  #url:
  #**kwargs:可变长度的字典
def put(url, data=None, **kwargs):
  #发送put请求
  #url:
  #data:
  #**kwargs:可变长度的字典
def get(url, params=None, **kwargs):
  #发送get请求
  #url:
  #params:
  #**kwargs:可变长度的字典
--------------前边四个方法都会调用下面的方法------------------
def request(method, url, **kwargs):
  #根据method传参的请求方式发送请求
 #method:接收方法例如get、post,传给session里面的request方法的method
 #url:接收url,传给session里面的request方法的url
 #**kwargs:可变长度的字典,接收**kwargs,传给session里面的request方法的 params,data,headers,cookies,files,auth,timeout,allow_redirects,proxies,hookse,stream,verify,cert,json,
--------------request方法都会调用下面session里面的request方法------------------
#session里面的request方法
    def request(self,
        method,          #请求方式
        url,              #请求路径
        params=None,      #get请求传参
        data=None,      #post或put请求传参
        headers=None,      #请求头
        cookies=None,      #请求头里的cookie信息
        files=None,       #文件上传
        auth=None,       #文件上传
        timeout=None,
        allow_redirects=True,
        proxies=None,
        hooks=None,
        stream=None,       #文件下载
        verify=None,
        cert=None,
        json=None,      #post请求的第二种传参方式
    ):
----------------------------------------------------
def session():   #获得回话对象,获得的是会话对象
*args和**kwargs有什么区别
*args:传输的数据作为一个元组来处理
**kwargs;传输的数据作为一个字典来处理

三、全面认识reponse库的常用方法

      res.text             #响应的文本信息(返回字符串)
      res.content          #响应的字节信息(返回字节数据)
      res.json()           #响应的json信息(返回json数据,python是字典)
      res.status_code      #响应的状态码信息(返回状态码)
      res.reason           #响应的状态信息(返回状态信息)
      res.cookies          #响应的cookies信息(返回响应cookie)
      res.encoding         #响应的编码格式(返回响应编码)
      res.headers          #响应的响应头信息(返回响应头)
      res.request.xxxxxx   #在响应里得到请求信息(返回请求的一些数据)

四、实战

get请求通过params传参
post请求通过data和json传参

postosm有四种传参方式:form-data、x-www-form-urlencoded、raw(包含五种)、binary
form-data:files上传,除了文件上传也可以用表单data传参
x-www-form-urlencoded:表单data传参
raw:除了json用json传参,其他全部用data传参
binary:data传参
而代码除了上传文件用files和json用json,其他全部用data传参
文件上传案例:

#文件上传

    def test_file_upload(self):
        urls ="https://api.weixin.gq.com/cgi-bin/media/uploadimg?access_token="+TestApi.access_token
        datas = {
            "media":open("C:\\Users\Admin\Desktop\\1689325925535.jpg","rb")     #通过open打开一个文件,rb设置成二进制的文件流
        }
        res3 = requests.post(url=urls,files=datas)
        print(res3.json())
posted @ 2023-07-31 12:49  Test-L帅  阅读(41)  评论(0编辑  收藏  举报