Fiddler模拟发送请求

发送post请求

1、打开Fiddler工具,在右侧点击“composer”的选项:

 

 

 

 

 

 

 

 2、进入到了composer 的选项之后,在parsed中进行根据http发送的请求进行选择,我们是模拟post请求,故选择post: 

 

 

 

3、添加post的url地址,以及选择http协议的版本 

 

 

 

 

 

 

 4、填写post请求的header和body 

 

 

 5、最后点击 Execute,就可以发送post请求,在左侧可以查看到发送的请求记录

6、双击该请求,既可以查看详细的请求数据和返回结果: 

 

拓展:post请求主体详解

Content-Type的格式有四种:分别是application/x-www-form-urlencoded(这也是默认格式)、application/json、text/xml以及multipart/form-data格式

(一)application/x-www-form-urlencoded数据格式

这是post请求最常见也是默认的数据提交格式。它要求数据名称(name)和数据值(value)之间以等号相连,与另一组name/value值之间用&相连。例如:parameter1=12345&meter2=23456。将请求的内容进行格式化了,其实这个方法同时简化的客户端发送,也简化了服务器端获取,服务器通过getParameters(String name)即可获取到传送来的信息。

用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

 

 

 

 模拟请求之后,从返回结果可以查看到我们的请求数据:

 

 

(二)application/json数据格式(参照上面教程)

(三)text/xml数据格式

用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

 

 

 模拟请求之后,从返回结果可以看到我们的请求数据:

 

 

(四)multipart/form-data数据格式

除了传统的application/x-www-form-urlencoded表单,我们另一个经常用到的是上传文件用的表单,这种表单的类型为multipart/form-data。

用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:

第一步,先设置好请求头格式,然后点击upload file...

 

 

第二步,上传你的文件,这里我上传一个png的图片

 

 

这是fiddler根据我们上传的文件自动调整生成的请求,在请求头中看到,我们需要选择一段数据作为“分割边界”(boundary属性),这个“边界数据”不能在内容其他地方出现,一般来说使用一段从概率上说“几乎不可能”的数据即可。每次post浏览器都会生成一个随机的30-40位长度的随机字符串,浏览器一般不会遍历这次post的所有数据找到一个不可能出现在数据中的字符串,一般都是随机生成。选择了这个边界之后,浏览器便把它放在Content-Type 里面传递给服务器,服务器根据此边界解析数据。下面的数据便根据boundary划分段,每一段便是一项数据。(每个field被分成小部分,而且包含一个value是"form-data"的"Content-Disposition"的头部;一个"name"属性对应field的ID等等,文件的话包括一个filename)

模拟请求之后,从返回结果可以看到我们的请求数据:

 




 

posted on 2019-11-08 17:33  卡哇伊的蜗牛  阅读(1377)  评论(0编辑  收藏  举报