接口基础知识(六)

(七)接口

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. MapReduce编程模型简介和总结

    MapReduce应用广泛的原因之一就是其易用性,提供了一个高度抽象化而变得非常简单的编程模型,它是在总结大量应用的共同特点的基础上抽象出来的分布式计算框架,在其编程模型中,任务可以被分解成相互独立的 ...

  2. 在vim下打开终端

    注意:仅在vim8.1下可用 使用方法: :term 打开默认的终端 如果是linux,或者使用wsl, :term bash Ctrl+W/Ctrl+N 将终端设置成normal模式

  3. QString使用正则表达式快速去空格

    //QString去掉空格 QString str; str.remove(QRegExp("\\s"));

  4. server.xml引入子文件配置(tomcat虚拟主机)

    在配置tomcat虚拟主机时候,如何每一个虚拟主机写成单独文件,server.xml包含这些子文件? 如以下<OneinStack>中,添加JAVA环境虚拟主机后tomcat配置文件详情: ...

  5. 基于卷积神经网络CNN的电影推荐系统

    本项目使用文本卷积神经网络,并使用MovieLens数据集完成电影推荐的任务. 推荐系统在日常的网络应用中无处不在,比如网上购物.网上买书.新闻app.社交网络.音乐网站.电影网站等等等等,有人的地方 ...

  6. robotframework-ride支持python3

    最近发现robotframework的RIDE工具终于支持python3了,赶紧就安装了一下. 最新版本1.7.3.1基于wxPython4.0.4,此时的wxPython也是支持Python3.x的 ...

  7. MySQL及navicat for mysql中文乱码

    转载自:https://www.cnblogs.com/mufire/p/6697994.html 修改完之后记着重启mysql服务,在服务里边重启,即可生效! 全部使用utf8编码 MySQL中文乱 ...

  8. UVA10163 Storage Keepers (动态规划)

    $dp[i][j]$表示前$i$个仓库由前$j$个人来守卫能取得的最大安全值: $cost[i][j]$表示前$i$个仓库由前$j$个人来守护在能取得的最大安全值的情况下的最小花费. AC代码 //# ...

  9. Git 安装和使用Tips

    1. git的安装 2. git的常见用法 3. git的常见问题 1. git的安装 1)首先去下载https://git-scm.com/downloads 在上述官网上下载符合自己操作系统的gi ...

  10. 添加“Git Bash Here”到右键菜单

    1.按键盘上的组合键[Win+R]把运行调出来 2.在运行中输入[regedit]再点击确定. 3.定位到HKEY_CLASSES_ROOT\Directory\Background\shell(如果 ...