目录
 
一、GET和POST请求的区别
 
如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送。
GET请求和POST请求的区别:
  1、GET使用URL或Cookie传参,它只有请求头,没有请求体;而POST将数据放在BODY中。
  2、GET的URL会有长度上的限制,则POST的数据则可以非常大。
  3、POST比GET安全,因为数据在地址栏上不可见。
  4、一般get请求用来获取数据,post请求用来发送数据。
其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。所以上面这些面试的时候你说出来就行了。
 
二、http协议
 
1、http请求分为两个部分
请求头header:额外的信息、浏览器信息、cookie、需要什么样的数据
请求体body:具体的数据,例如username=xxx
 
 
2、http状态码
200 请求成功
302 重定向
404 客户端发出去的请求不合法
500 服务端错误
 
额外了解:3次握手、4次挥手
 
三、使用postman测试HTTP接口
 
测试接口之前,得有一个接口文档。我们用以下接口文档来讲解:
账号:xiaohei
密码:123456
 
1、请求方式:get
范例:获取学生信息接口
 
a、如果是get请求,不需要借助任何的工具,使用浏览器就可以
 
b、如何调用
http://127.0.0.1/api/user/stu_info?stu_name=小黑
这种是最简单的一种,问号前面是请求url,后面是请求的参数名和参数值,多个参数用&来连接
 
 
 
 
小提示:复制粘贴后url变成了这样,是由于传入了中文空格特殊字符等,进行了url编码的原因,不是乱码,可以在网上搜url解码工具。
http://127.0.0.1/api/user/stu_info?stu_name=%E5%BC%A0%E5%B0%8F%E8%8A%B1
 
 
2、请求方式:post
范例:登录接口
 
请求方式是post,不能直接使用浏览器,需要借用工具,例如postman
 
小练习:先使用注册接口,发送注册请求,成功后使用新注册的账号发送登录请求,看看能不能返回正常的登录请求
 
 
3、请求方式:post,入参是json类型
范例:添加学生信息接口
添加学生信息接口文档:http://doc.nnzhp.cn/index.php?s=/6&page_id=10
 
json是一种通用的数据类型,是key-value形式的。这个接口是用来讲入参是json类型的,请求应该这样写
 
{
"name":"杨帆帆",
"grade":"金牛座",
"phone":13200000004,
"sex":"女",
"age":19,
"addr":"北京市昌平区回龙观"
}
 
 
 
4、cookie & session
a、简单解释
cookie就是放在你本地的一个键值对。k=v
yangfan abc123
session就是放在服务端的一个键值对。k=v
yangfan dsfhjhjssdfj
 
b、如何查看session:
浏览器点击右键,点击“检查”。举例:如果之前已经登录,清除cookie后刷新页面需要重新登录。
 
c、范例:学生金币充值
学生金币充值接口文档: http://doc.nnzhp.cn/index.php?s=/6&page_id=11
这个接口是为了讲添加cookie以及身份验证的。
 
(1)该接口有权限验证,只有admin用户才可以做发金币操作,需要添加admin用户的cookie,辨明admin用户身份。
登录接口,先使用管理员账号登录,获取到返回的sign
 
(2)回到充金币接口,在header中,填写刚才得到的cookie,如果有多个cookie使用分号,确保admin的登录状态。
 
(3)然后给学生充值,在body中填写学生的id和金币。send一下,成功啦!
 
补充知识:cookie、session的自我介绍
 
5、如何添加header信息
范例:获取所有学生信息
这个接口是为了说明怎么添加header信息的
 
 
6、文件上传接口
 
上传文件接口文档地址:http://doc.nnzhp.cn/index.php?s=/6&page_id=13
任何格式的文件都可以上传
 
 
四、练习
练习:使用postman抓qq群信息
(1)登录qun.qq.com,点击群管理-群成员管理,浏览器中右键“检查”,选中要抓取的群
 
 
(2)在请求头填写cookie
 
 
(3)在请求体中填写参数和值,sand一下就好啦!
 
 
 
五、补充知识
 
如果ip经常变化,可以使用全局变量。右上角齿轮图标--Manage--Globals--填写ip和相应地址
url中的ip地址使用{{ip}}代替
 
 
 
 

使用postman做接口测试----柠檬不萌!的更多相关文章

  1. 使用jmeter做接口测试----柠檬不萌!

    一.乱码解决方案 1.jmeter查看结果树乱码 (1)在jmeter的bin目录下找到jmeter.properties这个文件,添加上 sampleresult.default.encoding= ...

  2. 用postman做接口测试实例

    使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Param ...

  3. postman 做接口测试

    Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用. 以下是postman 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据, ...

  4. postman做接口测试 application/x-www-form-urlencoded 格式与json格式互转

    背景:用postman做接口测试可以使用application/x-www-form-urlencoded请求,也可以使用json请求,接口文档如下: 请求参数 字段 类型 是否必填 注释 websi ...

  5. 使用Postman做接口测试(学生信息的6个接口)

    使用postman做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 请求方式选择:get 直接在访问地址栏中 ...

  6. 使用Postman做接口测试

    Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和 ...

  7. 使用postman做接口测试(一)

    参考大神的总结:https://www.cnblogs.com/Skyyj/p/6856728.html 一,先了解一下基础知识,虽然工作中没什么卵用,但背会了,可以显摆自己很专业的样子,以下内容来自 ...

  8. 如何用Postman做接口测试

    postman介绍&测试准备: postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便. 前期准备:测试前,需要安装好postman ...

  9. 使用postman做接口测试(二)

    参考大神总结:https://www.cnblogs.com/Skyyj/p/6856728.html 二,下边的东西工作中实际要用到了 1, postman安装 chrome浏览器打开chrome: ...

随机推荐

  1. phpStorm debug

    1.重点注意(重要) 如果是wamp,那么请通过wamp打开php.ini文件,不要自己去找php文件夹下的php.ini,这是两个不同的文件 2.开始配置php.ini zend_extension ...

  2. token是什么?和session什么区别,怎么用

    对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西. 一.我们先解释一下他的含义: 1 ...

  3. 工控PLC中,关于定时器TON,TOF,的一点新认知,或者说醒悟吧!

    PLC  中的定时器,都是放在一个具体PRG任务单元中的,而PRG单元需要放在具体固定的周期循环任务中才能被执行,而这个周期循环任务的循环周期 T: 与定时器的定时时间T0:    T与T0 的数量级 ...

  4. LR 场景设置

    LR 场景设置group:多个脚本按照独立设置模式跑,各个脚本可以单独设置虚拟用户.运行时间scenario:多个脚本之间按照相同模式跑,将总的虚拟用户数按照一定比例分配给各个脚本 schedule ...

  5. javaIO流(一)--File类的基本使用

    一.File文件操作类 在java语言中提供有对于文件操作系统的支持,这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包中File类是唯一一个与文件本身操作有关的类(创 ...

  6. 解决:python安装mysqldb模块报 EnvironmentError: mysql_config not found

    最近学习python操作mysql需要安装mysqldb模块 出现EnvironmentError: mysql_config not found 经网上查看,需要安装mysql客户端开发库libmy ...

  7. SpringBoot入门简介

    SpringBoot诞生的背景 所有软件行业里面,如果要说商用体系,排在第一位的永远是java,因为java的体系丰富,支持度高,安全性也高 但是我们所有的开发者也不得不去忍受Java中的以下痛苦 举 ...

  8. C#socket客户端自己输入消息发送到服务端通信实现通信

    一,服务端代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  9. REST接口设计

    REST接口设计 为什么要有REST 在传统上,软件和网络是两个不同的领域,很少有交集:软件开发主要针对单机环境,网络则主要研究系统之间的通信.互联网的兴起,使得这两个领域开始融合,现在我们必须考虑, ...

  10. [css知识体系]flexbox模型

    背景 flexbox 模型的产生主要是为给布局.对齐和容器内的空间分配提供一个更有效的方法,即使尺寸未知或是动态改变的(flex,收缩,弹性 就是为此命名). flex布局使得容器能够改变子元素的宽高 ...