Fiddler和PostMan的使用例子和下载
2018-03-20 17:57 会飞的雪鹿 阅读(2451) 评论(0) 编辑 收藏 举报一、Fiddler:先下个![](https://images2018.cnblogs.com/blog/557067/201803/557067-20180320165136266-671277458.png)
1、先讲下Get请求:很简单就一图示意:
然后再讲下POST:举个例子
请求主体的内容:
User-Agent: Fiddler
Content-Type: application/json
Host: localhost:5237
Content-Length: 133
参数:
{
"Id": 123,
"Type": 3,
"Items": [{
"ItemId": 33,
"Count": 200
}]
}
然后讲下理论:
post请求主体详解:
对于get请求来说没有请求主体entity-body。对于post请求而言,不会对发送请求的数据格式进行限制,理论上你可以发任意数据,但是服务器能不能处理就是另一回事了。服务器收到数据后,如何解析数据呢?
它会以请求头中的Content-Type设置的内容来进行数据解析。确定好Content-Type的格式之后,请求主体的数据格式也就确定下来了。
Content-Type的格式有四种:分别是application/x-www-form-urlencoded(这也是默认格式)、application/json、text/xml以及multipart/form-data格式。
接下来就详细地介绍每一种数据格式对应的fiddler请求模拟的实现情况。
四种Post请求数据格式:
(一)application/x-www-form-urlencoded数据格式
这是post请求最常见也是默认的数据提交格式。它要求数据名称(name)和数据值(value)之间以等号相连,与另一组name/value值之间用&相连。例如:parameter1=12345&meter2=23456。将请求的内容进行格式化了,其实这个方法同时简化的客户端发送,也简化了服务器端获取,服务器通过getParameters(String name)即可获取到传送来的信息。
用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:
![](https://upload-images.jianshu.io/upload_images/1430132-af4b9de0d7add6bf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
模拟请求之后,从返回结果可以查看到我们的请求数据:
![](https://upload-images.jianshu.io/upload_images/1430132-27292a19426bbec1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(二)application/json数据格式
application/json格式的请求头是指用来告诉服务端post过去的消息主体是序列化后的 JSON 字符串。
用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:
![](https://upload-images.jianshu.io/upload_images/1430132-54e72ae32bc88764.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
模拟请求之后,从返回结果可以看到我们的请求数据:
![](https://upload-images.jianshu.io/upload_images/1430132-9de6d9999045efbf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(三)text/xml数据格式
用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:
![](https://upload-images.jianshu.io/upload_images/1430132-af33032d7c4e2e06.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
模拟请求之后,从返回结果可以看到我们的请求数据:
![](https://upload-images.jianshu.io/upload_images/1430132-8707e8d9e16c5a82.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(四)multipart/form-data数据格式
除了传统的application/x-www-form-urlencoded表单,我们另一个经常用到的是上传文件用的表单,这种表单的类型为multipart/form-data。
用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:
第一步,先设置好请求头格式,然后点击upload file...
![](https://upload-images.jianshu.io/upload_images/1430132-c7fc78d1c41f3fc4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第二步,上传你的文件,这里我上传一个png的图片
![](https://upload-images.jianshu.io/upload_images/1430132-02c68a55c7442b59.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这是fiddler根据我们上传的文件自动调整生成的请求,在请求头中看到,我们需要选择一段数据作为“分割边界”(boundary属性),这个“边界数据”不能在内容其他地方出现,一般来说使用一段从概率上说“几乎不可能”的数据即可。每次post浏览器都会生成一个随机的30-40位长度的随机字符串,浏览器一般不会遍历这次post的所有数据找到一个不可能出现在数据中的字符串,一般都是随机生成。选择了这个边界之后,浏览器便把它放在Content-Type 里面传递给服务器,服务器根据此边界解析数据。下面的数据便根据boundary划分段,每一段便是一项数据。(每个field被分成小部分,而且包含一个value是"form-data"的"Content-Disposition"的头部;一个"name"属性对应field的ID等等,文件的话包括一个filename)
模拟请求之后,从返回结果可以看到我们的请求数据:
![](https://upload-images.jianshu.io/upload_images/1430132-0b72d25f829bbcfa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
二、HosMan
![](https://images2018.cnblogs.com/blog/557067/201803/557067-20180320172921468-956514709.png)
界面截图如下:
使用很方便,只需设置以下节点:
1、设置请求的Headers,如下:
如果您接口返回的数据是Json类型,请使用第一种,如果您接口返回的数据是XML类型,请选择第二种,如果您返回结果是一个Pdf文件,请选择第三种......总之:根据自己的需求选择!
2、请将Body设置如下:
选中Raw选项,如果是Post请求,请在Body输入框中输入您要发送的Body请求体!如下:
3、请选择对应的请求方式:Get、Post、Put、Delete等,如下:
4、Post也支持相关的Jwt授权,Auth2.0授权等,个人没做太多研究!不作说明。一般的请求,不需要身份验证的,选择 No Auth 即可。
附上POSTMAN下载地址:链接:https://pan.baidu.com/s/1CjriDm5QBP3QtfJ9hHs_qA 密码:993f