python接口自动化测试之http协议(一)
1、http(超文本传输)协议:是一个基于请求与响应模式的、无状态的(不会记住每个请求的状态)、应用层协议
2、url详解
http/HTTPS:协议类型
host:主机地址或域名
--192.168.x.xx:8080 :地址+端口号
--www.xxx.com:域名
--localhost:8080 :localhost是本机地址
port:端口号
path:请求的路径,资源存放的路径(host之后,问号?之前)
?:问号是分割符号
参数:name=value
&:多个参数用&隔开
3、get和post的
get请求:肯定没有请求body,请求参数放在问号?后面;从服务器上获取资源;请求参数在请求行里,可以在Webforms的QueryString查看

post请求:有请求body(当然请求body也可以为空);向服务器发送数据;请求参数可以是请求行的参数QueryString+body(都可以为空)
body参数的数据类型 Content-Type:application/x-www-form-urlencoded

post的body常见的数据类型有5种,查看Content-Type里面的头部Content-Type
第一种:application/json:{"key1":"value1","key2":"value2","key3":false}

第二种:application/x-www-form-urlencoded:key1=xxx&key2=ooo&key3=false
第三种:multipart/form-data:这是一种表单格式,一般出现在文件上传这种(不是文件上传也可以)


第四种:text/xml(一般是用于webservice协议)
第五种:Content-Type:octets/stream 下载文件
4、请求方法
http1.0定义了三种请求方式:get、post、和head方法
http1.1新增了五种请求方法:options,put,delete,trace和connect方法
get请求指定的页面信息,并返回实体主体
head类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
post向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。post请求可能会导致新的资源的建立或已有资源的修改
put从客户端向服务器传送的数据取代指定的文档的内容
delete请求服务器删除指定的页面
----------------------------------
connect http1.1协议中预留给能够将连接改为管道方式的代理服务器
options允许客户端查看服务器的性能
trace回显服务器收到的请求,主要用于测试或诊断
5、request组成
请求行、请求头部、空行和请求数据四部分

请求头:

Accept:浏览器可接受的媒体类型
Accept-language:语言
Accept-Encoding:编码格式
User-Agent:客户端类型
Cookie:身份认证
Entity
Content-Type:发送post的时候,body的数据类型声明
6、response结果
http响应也由四个部分组成:状态行、消息报头、空行、响应正文

7、常用状态码
200 OK//客户端请求成功
400 Bad Request//客户端请求语法有错,不能被服务器所理解
401 Unauthorized//请求未经授权,这个状态码必须和www-Authenticate报头域一起使用
403 Forbidden//服务器收到请求,但是拒绝提供服务(权限问题)
404 Not Found//请求资源不存在,eg:输入了错误的url
500 Internal Server Error//服务器发生不可预知的错误
503 Server Unavailable//服务器当前不能处理客户端的请求,一段时间后可能恢复正常
python接口自动化测试之http协议(一)的更多相关文章
- python接口自动化测试之requests库详解
前言 说到python发送HTTP请求进行接口自动化测试,脑子里第一个闪过的可能就是requests库了,当然python有很多模块可以发送HTTP请求,包括原生的模块http.client,urll ...
- python接口自动化测试之根据excel中的期望结果是否存在于请求返回的响应值中来判断用例是否执行成功
1.首先在excel中填写好预期结果的值 这里判断接口成功的依据是预期结果值是否存在于接口的返回数据中. 一般接口的返回值都是json对象,我们需要将json对象转换为json格式的字符串 如下图,进 ...
- 接口自动化测试之HTTP协议详解
协议 简单理解,计算机与计算机之间的通讯语言就叫做协议,不同的计算机之间只有使用相同的协议才能通信.所以网络协议就是为计算机网络中进行数据交换而建立的规则,标准或约定的集合. OSI模型 1978年国 ...
- Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...
- python接口自动化4-绕过验证码登录(cookie)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...
- python接口自动化(Cookie_绕过验证码登录)
python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...
- python接口自动化28-requests-html爬虫框架
前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...
随机推荐
- 多柱汉诺塔问题“通解”——c++
多柱汉诺塔问题 绪言 有位同学看到了我的初赛模拟卷上有一道关于汉诺塔的数学题.大概就是要求4柱20盘的最小移动次数. 他的数学很不错,找到了应该怎样推. 如果要把n个盘子移到另一个柱子上,步骤如下: ...
- WPF 控件功能重写(ComboBox回车搜索)
前言:在我们日常使用软件的时候,Combobox会让用户很方便的选择出需要的东西,但是ComboBox中的下拉行数过多时就不那么好用了. 如果在项目中有很多这样的ComboBox控件的话,我们可以考虑 ...
- Vue中富文本编辑器(vue-quill-editor)的使用
1. 安装 npm install vue-quill-editor --save 2. 导入并挂载 import VueQuillEditor from 'vue-quill-editor' // ...
- 小程序公共模板template与公共js数据utils的引用实例
在小程序项目开发中,经常会遇到公共模板与公共js数据的调用,这里结合自己的项目为这一需求做一简单介绍 目录截图 现在是有一个评论版块需要在几个页面里共用 先将评论版块的wxml剔出来放在templat ...
- Next.js 配置接口跨域代理转发
使用 create-next-app 创建的 Next.js 项目配置接口跨域代理转发需要用到 custom server 功能. 先安装好 express 和 http-proxy-middlewa ...
- 白面系列 docker
在讲docker之前,首先区分2个概念,容器和虚拟机. 容器: 虚拟机: 简单来说,容器虚拟化操作系统:虚拟机虚拟化硬件. 容器粒度更小更灵活:虚拟机包含资源更多更大. docker就是用来做容器化的 ...
- 剑指offer-面试题29-顺时针打印矩阵-矩阵
/* 题目: 输入一个矩阵,按照从外到内顺时针的顺序依次打印每一个数字. */ /* 思路: 1.将打印矩阵看作是打印一个个从外向内的环. 2.每一个环都有一个起始节点,起始节点的坐标*2小于行数和列 ...
- ansible-yaml语法
1. 基础语法 - yaml结果通过空格来展示 - 数组使用"- "来表示 //注意:-后边要有一个空格 - 键值对使用": "来表示 //注意::后边要有一个 ...
- 知乎-如何rebuttal
作者:魏秀参链接:https://zhuanlan.zhihu.com/p/104298923来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 学术论文是发布自己或团队最 ...
- PAT (Advanced Level) Practice 1120 Friend Numbers (20 分) (set)
Two integers are called "friend numbers" if they share the same sum of their digits, and t ...