上午和一个大神交流了一下,给我了一点建议:多做笔记,勤复盘;及时记录自己,最好的提升不是来自于别人,而是来自于自身。我觉得挺有道理的,分享出来。共勉

说正事。

今天把post请求的大概内容看了一下。虽然都是post请求,但是还是分类的。看下边。。

一、POST请求,有请求参数params,body有data时

import requests

host = "https://***.org/"                                        #地址可以自己切换,建议一开始找个请求体内容少一点的地址
endpoint = "post"
url = "".join([host,endpoint]) params = {"show_env":1}
data = {                     #如果data中还有更多的参数时就继续往里边添加,注意格式与细节
"a":"嘻哈",
"b":"from-data"
} r = requests.post(url,params=params,data=data)
print(r.headers)

二、POST请求,body中有json数据时

import requests
import json host = "https://***.org/"
endpoint = "post"
url = "".join([host,endpoint]) #将host与endpoint进行合并 data = { #请求中的data的参数值
"info":{"code":1,"sex":"男","id":1900,"name":"嘻哈"},
"code":1,
"name":"嘻哈","sex":"女",
"data":[{"code":1,"sex":"男","id":1900,"name":"嘻哈"},
{"code":1,"sex":"女","id":1900,"name":"嘻哈"}],
"id":1900
} r = requests.post(url,data = json.dumps(data)) #将data(字典)表单形式数据进行序列化
r = requests.post(url,json = data) #不用序列化,直接转型,使用方便 print(r.headers) #打印响应的headers信息
print(r.text) #打印响应的响应体信息
resp = r.json()
print(resp["json"]) #将响应的信息已json串的形式展示出来

三、POST请求,普通上传文件files

import requests

from requests.packages.urllib3.exceptions import InsecureRequestWarning    # 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning) host = "https://***.org/"
endpoint = "post"
params = {"show_env":1}
url = "".join([host,endpoint]) files = {"files":open(r"F:\test.txt","rb")} # 1、以rb方式获取test.txt文件的内容。
# 关于"\”与关键字如 r t n 结合无法读取文件内容时,可以使用“/”、“\\”、“r"F:\test.txt"”方法解决。
files = {"files":(r"F:\test.txt","xixihaha")} # 2、直接将目标文件内容xixihaha通过文件test.txt进行上传。
files = {"files":(open("F:\嘻哈.jpg","rb"))}                    # 3、以rb方式上传jpg格式的图片
files = {"files":("嘻嘻哈哈.jpg",open("F:\嘻哈.jpg","rb"),"image/png")} # 自定义图片上传格式,将图片以png格式上传,还可以自定义上传的文件的路径、文件类型、文件名称。以列表形式上传单个文件的方式 files = [
("field1",(r"F:\test.txt",open(r"F:\test.txt","rb"))), # 以列表+元祖的方式实现多个文件的上传. 上传了test.txt和png格式的嘻嘻哈哈.png图片
("fidld2",(r"嘻嘻哈哈.jpg",open("F:\嘻哈.jpg","rb"),"image/png"))
]
r = requests.post(url,files=files,verify=False)                  # verify=False这个东西是为了解决Requests请求时需要对SSL认证的问题。没他就认证不通过,报错了
print(r.headers)
print(r.text)

以上只是一个列子,当然有列子就可以照葫芦画瓢。不管再多的东西都可以往里边套。请求的时候有些需要配合区注释掉才能正常请求

主要是集中文件上传的方式需要了解一下,备注写的多,主要还是以后自己看的方便吧 。

有补充的期待评论区留言,我一定会补全的。

愿你、愿我,路越走越宽

python接口测试-认识POST请求的更多相关文章

  1. python接口测试-认识GET请求

    前边用工具也实现了接口自动化,但是后来很多的时候维护成本有点高.而且灵活上还是有所欠缺的. 于是,自己开始摸索学习敲码.应该有很多不对的地方或者可以优化的望各位大神勿喷,同时欢迎各位大神评论区发表自己 ...

  2. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  3. Python接口测试实战1(上)- 接口测试理论

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  4. Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  5. Python接口测试实战5(上) - Git及Jenkins持续集成

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  6. Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. Python接口测试实战4(上) - 接口测试框架实战

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. Python接口测试实战3(下)- unittest测试框架

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  9. Python接口测试实战3(上)- Python操作数据库

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

随机推荐

  1. 2.1 re 模块

    正则表达式 简单的范围的字符组 字符 量词 字符集 分组 转义字符 flags 方法  .findall() .finditer() .search() .match()  .sub() .subn( ...

  2. Vue+koa2开发一款全栈小程序(9.图书详情页)

    1.获取图书详情 1.修改server/controllers/bookdetail.js为 const {mysql}=require('../qcloud') module.exports=asy ...

  3. java正则表达式取出匹配字符串

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexMatches { public s ...

  4. 2018年秋季学期《c语言程序设计》学习总结

    <c语言程序设计>第四周学习总结 <c语言程序设计>第五周学习总结 <c语言程序设计>第六周学习总结 <c语言程序设计>第七周学习总结 <c语言程 ...

  5. JQuery 的遍历方法 $.each

    博主呢最近在公司实习,发现公司基本上都会统一代码风格,今天看到还有很多事用JQuery写的js 请求Ajax与后台进行数据交互的方式 当我看到$each 遍历时 然我想起我学JQuery的时候 于是复 ...

  6. openstack项目【day23】:glance基础

    本节内容 一 什么是glance 二 为何要有glance 三 glance的功能 四 glance的两个版本 五 镜像的数据存放 六 镜像的访问权限 七 镜像及任务的各种状态 八 glance包含的 ...

  7. JAVA第一周学习

    新学期伊始,六门专业课,课课重要,无法抉择重心,但日子还是要过的,而且要精细的过,不能得过且过 JAVA第一周任务 一:学习第一章视频 二:使用JDB调试JAVA 三:输入调试教材上代码,并把代码上传 ...

  8. Shiro 系列: 简单命令行程序示例

    在本示例中, 使用 INI 文件来定义用户和角色. 首先学习一下 INI 文件的规范. =======================Shiro INI 的基本规范================== ...

  9. Linux 动态加载共享库

  10. centos7.2 环境下两个数据库的安装部署

    首先假如服务器上已经有一个 数据库mysql5.6.29,端口是3306. 接下来在安装一个mysql数据库,端口是3307的. 一:创建mysql编译目录 mkdir /usr/local/mysq ...