【python接口自动化】01-requests请求
requests是模拟HTTP、https请求接口。
一、HTTP协议介绍
1.1HTTP协议特点

1.2HTTP协议组成

请求方法
主要的请求方法有:GET、POST、DELETE 、PUT 、HEAD 等方法
最最常用的方法就是:GET方法、POST方法
get与post方法的特点:
GET方法:
GET 方法提交数据不安全,数据置于请求行,浏览器地址栏可见;
GET 方法URL长度每个浏览器限制数量不同,最后在2000字符以内
GET方法速度快
默认的请求方法,不需要提交大量数据、无敏感、保密数据时使用
可能会被缓存
请求可能会被保留在浏览器历史记录中
POST方法:
POST 方法提交数据安全,数据置于消息主体内,浏览器地址栏不可见
POST 方法提交的数据大小没有限制
POST 方法速度慢
需要提交大量数据、有敏感、保密数据时使用
不会被缓存
请求不会被保留在浏览器历史记录中
1.3 HTTP响应

响应报文格式:
第一部分:叫状态行。独占一行。由:协议/协议版本、状态码、状态描述符组成
第二部分:从第二行至第N行,叫响应头。由键值对组成。由N对
第三部分:叫空行,独占一行。由回车换行符组成
第四部分:叫响应体。响应回来的数据格式(多种)
HTTP响应状态码(常见)
200 客户端请求成功
301 永久性重定向
302 临时性重定向
403 服务器收到请求,但拒绝提供服务。
404 请求的资源不存在
500 服务器发生不可预期的错误。
请求/响应头中,重要的参数
(一)、Content-Type参数
Content-Type,叫:是Internet Media Type,互联网媒体类型。存在于请求中或响应中:
如果出现在请求中,则表示:告诉服务端客户端实际发送的数据类型。
如果出现在响应中,则表示:告诉客户端服务端实际发送的数据类型。
在【请求】中,常见的数据类型有:
application/x-www-form-urlencoded-----> 以“键-值”对的方式组织的数据
application/json -----> JSON 字符串格式提交数据
multipart/form-data-----> 一般需要上传文件的表单则用该类型
(二)、Cookie参数
Cookie参数,也是一个很重要的参数,存在于请求或响应中。
源头在服务端,服务端向客户端设置Cookie后,浏览器会自动把Cookie添加到每次请求的请求头中。一般用在用户登录或记住用户名等地方。
2.请求方法对应的参数

口诀1:params参数,如果传入的是字典,自动编码为表单。---一般get请求需要
口诀2:data参数,如果传入的是字典,自动编码为表单。
口诀3:data参数,如果传入的是字符串,按原格式直接发布出去。
口诀4:json参数,如果传入的是字典,自动编码为json字符串。
口诀5:json参数,如果传入的是字符串,按原格式基础上添加双引号发布出去。
一般规律总结:
get请求:用参数data
post请求:表单用data,json格式用json。
【python接口自动化】01-requests请求的更多相关文章
- python接口自动化(delete请求)
python接口自动化(delete请求) 一.delete请求的目的:删除资源 二.应用 导包:import requests 调用delete方法:requests.delete(url) 获取响 ...
- python接口自动化(put请求)
python接口自动化(put请求) 一.put请求的作用:更新资源 二.应用 导包:import requests 调用requests.put()方法 参数有URL.data.headers,方法 ...
- python接口自动化(post请求)
python接口自动化(post请求) 一.post请求的作用:新增资源 二.data格式的参数请求(data是字典对象) #1.导包 import requests #2.调用post方法 #请求的 ...
- python接口自动化(get请求)
python接口自动化(get请求) get请求的目的:查询资源 一.导包 二.请求的URL 三.请求的参数 四.获取请求的URL 五.获取响应的状态码 六.获取响应的本文信息 #导包 import ...
- python接口自动化发送get请求 详解(一)
前言:接口自动化实现自动化脚本比较稳定,主要用到requests模块,后面我会把这个模块单独拉出来写一下. 一.环境安装 1.用pip安装requests模块 >>pip install ...
- Python接口自动化【requests处理Token请求】
首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路: 1.对于带token的页面,需要先从最开始的页面获取合法token 2.然后使用获取到的合法token进行后 ...
- python接口自动化测试之requests库详解
前言 说到python发送HTTP请求进行接口自动化测试,脑子里第一个闪过的可能就是requests库了,当然python有很多模块可以发送HTTP请求,包括原生的模块http.client,urll ...
- Python接口自动化基础---get请求
1.没有参数的get请求 import requests r=requests.get('http://docs.python-requests.org/zh_CN/latest/user/quick ...
- Python接口自动化基础---post请求
常见的post传递参数的类型有以下两种: 第一种:application/x-www-form-urlencoded,浏览器原生的form表单,格式如下:input1=xxx&input2=o ...
随机推荐
- zabbix 邮箱告警
脚本内容 #!/bin/env python #coding:utf- import smtplib from email.mime.text import MIMEText from sys imp ...
- 来看看阿里架构师Java 代码打日志姿势!你也是这样写的吗
使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一. 实现方式统一使用: Logback框架 打日志的正确方式 什么时候应该打日志 当你遇到问题的时候,只能通过debug功能 ...
- profile(/etc/profile)和bash_profile的区别
profile(/etc/profile)和bash_profile的区别 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效.当用户登录 ...
- 09.Django-数据库优化
Django查询数据库性能优化 现在有一张记录用户信息的UserInfo数据表,表中记录了10个用户的姓名,呢称,年龄,工作等信息. models文件 from django.db import mo ...
- 跨域问题 - Nginx反向代理
Nginx反向代理的思路,就是通过Nginx解析URL地址的时候进行判断,将请求转发的具体的服务器上. 解决思路 跨域问题,是由于JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象. ...
- JS基础知识笔记
2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...
- kali设置NAT模式,无法正常上网请试试这个办法
1.释放网卡: dhclient -r eth0 2.自动获取网络 dhclient -v eth0 3.开启22端口 lsof -i :22 4.打开ssh service ssh start sy ...
- STM32的ADC采样时间
STM32的ADC采样时间与其ADC的时钟频率密不可分. 例:STM32F103系列的ADC的时钟是在APB2(最大72MHZ)上.我们可以对其分频: RCC_PCLK2_Div2: ADC cloc ...
- 01---eclipse使用
一.eclipse快捷键 1.alt+? 或 alt+/:自动补全代码或者提示代码,可用于main函数(main).输出函数(syso)等 2.ctrl+1:错误提示 3.ctrl+/:自动注释当前行 ...
- WEB应用的常见安全漏洞
01. SQL 注入 SQL 注入就是通过给 web 应用接口传入一些特殊字符,达到欺骗服务器执行恶意的 SQL 命令.SQL 注入漏洞属于后端的范畴,但前端也可做体验上的优化.原因:当使用外部不 ...