python接口测试-认识POST请求
上午和一个大神交流了一下,给我了一点建议:多做笔记,勤复盘;及时记录自己,最好的提升不是来自于别人,而是来自于自身。我觉得挺有道理的,分享出来。共勉
说正事。
今天把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请求的更多相关文章
- python接口测试-认识GET请求
前边用工具也实现了接口自动化,但是后来很多的时候维护成本有点高.而且灵活上还是有所欠缺的. 于是,自己开始摸索学习敲码.应该有很多不对的地方或者可以优化的望各位大神勿喷,同时欢迎各位大神评论区发表自己 ...
- Python接口测试实战2 - 使用Python发送请求
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战1(上)- 接口测试理论
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战5(上) - Git及Jenkins持续集成
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战5(下) - RESTful、Web Service及Mock Server
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战4(上) - 接口测试框架实战
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战3(上)- Python操作数据库
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
随机推荐
- Pthread 用法笔记
什么是线程? 从技术上讲,一个线程被定义为一个独立的指令流. 一个进程可以包含一个或多个线程. 线程操作包括线程创建,终止,同步(连接,阻塞),调度,数据管理和进程交互. 进程内的所有线程共享: 相同 ...
- Gym - 101350E Competitive Seagulls (博弈)
There are two seagulls playing a very peculiar game. First they line up N unit squares in a line, al ...
- 实战Google深度学习框架-C3-TensorFlow入门
第三章:TensorFlow入门 TensorFlow存在计算模型,数据模型和运算模型(本文用TF代表TensorFlow) 3.1 计算模型-计算图 3.1.1 计算图的概念 TensorFlow这 ...
- JDK1.8 HashMap源码分析
一.HashMap概述 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时 ...
- Linux系统在线安装、启动 redis
环境: Linux系统:VMware 14 中 CentOS 7 64 位 redis版本:redis-stable.tar.gz(当前版本是:redis-cli 4.0.9) 一.Linux在线安装 ...
- 第四节:框架前期准备篇之进程外Session的两种配置方式
一. 基本介绍 1. 背景:Asp.Net默认的Session机制是进程内,存储在服务器端内存中,有这么几个缺点: ①:既然存在内存中,空间有限,不能存储大数据量信息,数据量多的话Session会被挤 ...
- Shiro 系列 - 基本知识
和 Spring Security 项目一样, Apache Shiro 也是一个被广泛使用安全框架, 它们都能完成认证.授权.会话管理等. 简单对比一下 Apache Shiro 和 Spring ...
- MySQL的一些基本命令笔记(3)
指明外键: 1 :1 两个表中的主键都可以当成外键 1 :N 在 "多" 的实体表中新增加一个字段,该字段是 "一" 实体表的主键 M : N 拆成两个1 :N ...
- 使用Roslyn编译项目的示例
using System; using System.Collections.Generic; using System.IO; using Microsoft.CodeAnalysis; using ...
- 全卷积网络 FCN 详解
背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Convolutional N ...