zoukankan      html  css  js  c++  java
  • Python使用requests发送post请求的三种方式

    1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下:

    A:application/x-www-form-urlencoded ==最常见的post提交数据的方式,以form表单形式提交数据

    B:application/json    ==以json格式提交数据

    C:multipart/form-data  ==一般使用来上传文件(较少用)

    2.我们使用python做接口测试时,经常使用的方式为:requests.post(url,data),具体我们使用不同的编码方式来做接口测试:

    A:Requests以form表单形式发送post请求,具体代码实现如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    import requests,json
     
    url = 'http://httpbin.org/post'
    data = {'key1':'value1','key2':'value2'}
    =requests.post(url,data)
    print(r)
    print(r.text)
    print(r.content)

    A1:运行结果如下所示:

    B:Requests以json形式发送post请求,具体代码实现如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    import requests,json
     
    url_json = 'http://httpbin.org/post'
    data_json = json.dumps({'key1':'value1','key2':'value2'})   #dumps:将python对象解码为json数据
    r_json = requests.post(url_json,data_json)
    print(r_json)
    print(r_json.text)
    print(r_json.content)

    B1:运行结果如下所示:

    C:Requests以multipart形式发送post请求,具体代码实现如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    import requests,json
     
    url_mul = 'http://httpbin.org/post'
    files = {'file':open('E://report.txt','rb')}
    = requests.post(url_mul,files=files)
    print(r)
    print(r.text)
    print(r.content)

    C1:运行结果如下所示:

    注:E://report.txt==自定义,具体根据自己放的目录来定义,内容随意

  • 相关阅读:
    023 使用@Value注解完成配置信息的注入
    022 使用@Bean的属性完成初始化和销毁的指定
    021 使用@Import注解完成Bean的注册
    020 使用@Conditional注解完成条件注入
    019 使用@Lazy完成懒加载
    018 使用@Scope完成bean的作用域的声明
    017 包扫描器和标记注解
    016 @Configuration和@Bean
    015 spel
    vs2010编辑器中找不到System.Web.Extensions.dll
  • 原文地址:https://www.cnblogs.com/liuyanhang/p/10973024.html
Copyright © 2011-2022 走看看