接口基础知识(六)

(七)接口

1、接口:外部系统与本系统之间以及系统内部的各个子系统间,以约定标准提供的服务,包括对外提供的接口/对外提供的接口。

不同的请求协议:http  webservice  dubbo  socket

http请求分为:get  post  delete  put  head  option

GET和POST的区别:

GET:提交的参数会拼接到URL里面去,不是一种很安全的提交数据方式,传递的数据量比较小;

POST:数据和URL不会拼接到URL里面,post用额外的数据格式去传递,比如json/xml,传递的数据量比较大。

接口测试的本质就是测试类里面的函数。

2、http request

一个http请求是指从客户端到服务端的请求信息,包括以下内容:

请求地址:url

请求方法:HEAD GET POST PUT OPTINONS DELETE PATCH

http协议/版本:可以打开浏览器按f12自行查看

请求头:http客户程序(例如浏览器)向服务器发送请求的时候必须指明请求类型(一般是GET或者POST),如果有必要,客户程序还可以选择发送其他的请求头

请求正文:也就是我们所说的请求参数

注:请求头里面的参数不一定是每次请求都必须要带的。 

3、http response

包含了以下几个:

状态码:标记响应状态的一个标识

响应头

响应正文:针对请求从服务响应回来的数据,比如html、xml、json等

常见的状态码:

200(正常):表示一切正常,到了服务器并且服务器正常的响应了你的请求;

302(临时重定向):指出被请求的文档已被临时移动到别处,此文档的新URL在Location响应头中给出;

304(未修改):表示客户机缓存的版本是最新的,客户机应该继续使用它,比如说前端js、css、jpg等等;

403(禁止):服务器理解客户端请求,但拒绝处理它。通常由于服务器上文件或者目录的权限设置所致;

404(找不到):服务器上不存在客户机所请求的资源;

500(内部服务器错误):服务器端的CGI、ASP、JSP等程序发生错误

504:超时

4、cookie&session

cookie:在客户端存储用户的一些数据,比如说用户名啊浏览记录这些

session:在服务器端记录用户的请求状态,一般默认时间是30分钟

会员卡机制:session_id会存在cookie中,每次请求cookie中的所有信息都会传送给服务器,服务器通过session_id来识别是否是同一个用户的请求,如果不是同一个用户的话,就会要求用户重新登录。

注:存在这种机制的原因:因为http请求是无状态的。

5、token&key

鉴权(token):访问的接口是否正常,是否非法访问,绕过前端访问;

授权(key):是否具有访问的接口的权限,一般来说是唯一的,全局的,动态的,具备一定特征。

以上,第六部分到此结束~

Python-接口自动化(六)的更多相关文章

  1. python接口自动化六(参数化也就是把之前敲过的代码封装成方法)

    前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 (由于博客园登录机制 ...

  2. python接口自动化11-post传data参数案例

    前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账 ...

  3. python接口自动化(响应对象方法)

    python接口自动化(响应对象方法) 一.encoding作用 获取请求的编码(在不设置响应编码时,响应的信息默认使用的是请求的编码格式):r.encoding 设置响应的编码:r.encoding ...

  4. python接口自动化(get请求)

    python接口自动化(get请求) get请求的目的:查询资源 一.导包 二.请求的URL 三.请求的参数 四.获取请求的URL 五.获取响应的状态码 六.获取响应的本文信息 #导包 import ...

  5. Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要

    1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...

  6. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  7. python接口自动化-Cookie_绕过验证码登录

    前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...

  8. python接口自动化28-requests-html爬虫框架

    前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...

  9. python接口自动化-参数化

    原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...

  10. python接口自动化 -参数关联(一)

    原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...

随机推荐

  1. Centos 7 安装 ELK 5.6.8 及基础的配置

    下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.rpm wget https://ar ...

  2. github收藏夹

    技术面试必备基础知识 https://github.com/CyC2018/CS-Notes 程序员简历模板列表 https://github.com/geekcompany/ResumeSample ...

  3. 单元测试系列之十一:Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...

  4. UVA11020 Efficient Solutions

    思路 先判断一个点能不能插入,能插入的话删除所有因为它而没有优势的点 注意 写 S.erase(it); it++; 会RE 要写 S.erase(it++); 代码 #include <cst ...

  5. ActiveReports报表控件 V13 正式发布,提供在线报表设计和自适应报表布局

    重磅消息, ActiveReports V13 正式发布!本次更新 ActiveReports 将给您带来全新的报表设计体验:提供在线报表设计器.提供响应式布局和屏幕尺寸自适应能力.提供全新的图表…… ...

  6. P1582 倒水

    传送门 思路: 类似于 袁绍的刁难 , 一道二进制的模拟题. 先将:将原先的瓶子数 n 转换成二进制,二进制中 1 的个数就是合并后剩下的瓶子个数 . 主要利用树状数组的 lowbit 函数: inl ...

  7. legend2---项目总结(legend2的意义)

    legend2---项目总结(legend2的意义) 一.总结 一句话总结:总体来说还是化腐朽为神奇的,之前投了很多精力在学习上面,学的内容非常多,但是都记不住,尤其是英语,感悟也是没办法继续深悟,这 ...

  8. 转载&修改:赶集mysql军规

    个人认为以下军规主要为了适应海量数据场景,对于业务复杂性系统并一定完全按照此军规   一,核心军规 不在数据库做计算,cpu计算务必移至业务层 控制单表数据量,单表记录控制在千万级 控制列数量,字段数 ...

  9. maven install报错 Failed to execute goal on project my-manager-mapper: Could not resolve dependencies for project com.my:my-manager-mapper:jar:0.0.1-SNAPSHOT:

    报错信息为: [ERROR] Failed to execute goal on project my-manager-mapper: Could not resolve dependencies f ...

  10. 关于vue中this.attr代替this.data.attr访问的原理

    请看如下例子: var obj = { name:"zhuwei", age:18 } function Person(data){ this.data = data; } var ...