[转]Fiddler模拟post四种请求数据
1 前言
仅作为记录使用。
2 内容
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模拟请求的话,请求头和请求主体的内容可以这样构造:
模拟请求之后,从返回结果可以查看到我们的请求数据:
(二)application/json数据格式
application/json格式的请求头是指用来告诉服务端post过去的消息主体是序列化后的 JSON 字符串。
用fiddler模拟请求的话,请求头和请求主体的内容可以这样构造:
模拟请求之后,从返回结果可以看到我们的请求数据:
(三)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)
模拟请求之后,从返回结果可以看到我们的请求数据:
3 参考
https://www.cnblogs.com/xiaoxi-3-/p/7612254.html
作者:搁浅
出处: http://www.cnblogs.com/xiaoxi-3-/
如果对您有帮助,请关注我的同名简书:https://www.jianshu.com/u/da1677475c27
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载于:https://www.cnblogs.com/fanbi/p/9450793.html
[转]Fiddler模拟post四种请求数据相关推荐
- 接口测试中模拟post四种请求数据
转自 作者:隋胖胖LoveFat 链接:https://www.jianshu.com/p/3b6d7aa2043a 来源:简书 一.背景介绍 在日常的接口测试工作中,模拟接口请求通常有两种方法,fi ...
- 使用 Fiddler工具模拟post四种请求数据
前言: Fiddler是一个简单的http协议调试代理工具,它界面友好,易于操作,是模拟http请求的利器之一. 在接口测试中,接口通常是get请求或者post请求.get请求的测试一般较为简单,只需 ...
- postman的四种请求:post,get,put,delete
四种请求的详解 前言 一.get请求 二.post请求 三.put请求 四.delete请求 前言 之前在做测试的实习的时候用过postman做接口测试,但是以前懵懵懂懂,觉得那是开发才相关的东西,所 ...
- axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- java rest风格传参_SpringMVC的REST风格的四种请求方式总结
一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. 它们分别对应四种基本操作: 1.GET ====== 获 取资源 2.POST ======新建资源 3. ...
- java的rest教程_[Java教程]SpringMVC的REST风格的四种请求方式
[Java教程]SpringMVC的REST风格的四种请求方式 0 2017-08-28 22:00:25 一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. ...
- Flask框架中的四种请求勾子
在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接:在请求开始时,根据需求进行权限校验:在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重 ...
- 解析四种大数据文件格式
众所周知,Apache Spark支持许多种不同的数据格式,其中包括:无处不在的CSV格式.对于Web友好的JSON格式.以及常被用于大数据分析的Apache Parquet和Apache Avro. ...
- postman模拟post请求的四种请求体
来源:https://blog.csdn.net/m0_37556444/article/details/82845694 postman的几种参数格式 post类型的body中可以存放任意的内容格式 ...
最新文章
- jvm十一:类加载器双亲委托机制
- 南邮 AAencode
- Ubuntu/Fedora高版本安装海思SDK的方法
- RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one.
- java中的single_解析java泛型(一)
- java调用linux命令
- Java List集合实现倒倒序排列
- python学习手册 简记
- html中让图片放大的代码,HTML5图片预览 放大(示例代码)
- 聚类分析K均值算法讲解
- [Codeforces] AIM Tech Round 5 (rated, Div. 1 + Div. 2) 总结+题解
- 关于2022年电改政策的解读
- 香帅的北大金融学课笔记4 -- 基金
- 【Java书笔记】:《Redis 深度历险:核心原理和应用实践》分布式锁,延时队列,位图,HyperLogLog,布隆过滤器,漏斗限流,GeoHash,Scan,管道,事务,主从,Redis源码
- 爬取王者荣耀皮肤图片
- 输入n个整数,输出其中的最大值
- 京东 vs 苏宁:两个穷人的流血战争
- Exchange Server分层通讯簿 (HAB) 和 地址簿策略 (ABP)
- Unity Android 之 应用打开手机的指定网页浏览器(external browser)的两种方法(封装aar和不用封装aar方法)
- 2018 Google I/O 干货摘要以及对Android开发者的影响
热门文章
- 为什么S/4HANA的生产订单创建后会自动release
- SAP Fiori里的List是如何做到懒加载Lazy load的
- pyqt5必须和python对应_python 使用PyQt5
- php mariadb 查询语法,从PHP调用的查询中的MySQL(MariaDB)执行超时
- linux c进程和线程脑图,进程和线程
- 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...
- 可能是最简单的同步fifo 的设计
- mysql uuid_short 为什么不存在_MySQL内置函数uuid和uuid_short
- 数学计算机培训反思,小学数学信息技术反思日志5
- 执行sqoop 用shell_Mysql和Hive之间通过Sqoop进行数据同步