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四种请求数据相关推荐

  1. 接口测试中模拟post四种请求数据

    转自 作者:隋胖胖LoveFat 链接:https://www.jianshu.com/p/3b6d7aa2043a 来源:简书 一.背景介绍 在日常的接口测试工作中,模拟接口请求通常有两种方法,fi ...

  2. 使用 Fiddler工具模拟post四种请求数据

    前言: Fiddler是一个简单的http协议调试代理工具,它界面友好,易于操作,是模拟http请求的利器之一. 在接口测试中,接口通常是get请求或者post请求.get请求的测试一般较为简单,只需 ...

  3. postman的四种请求:post,get,put,delete

    四种请求的详解 前言 一.get请求 二.post请求 三.put请求 四.delete请求 前言 之前在做测试的实习的时候用过postman做接口测试,但是以前懵懵懂懂,觉得那是开发才相关的东西,所 ...

  4. axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍

    Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...

  5. java rest风格传参_SpringMVC的REST风格的四种请求方式总结

    一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. 它们分别对应四种基本操作: 1.GET ====== 获 取资源 2.POST ======新建资源 3. ...

  6. java的rest教程_[Java教程]SpringMVC的REST风格的四种请求方式

    [Java教程]SpringMVC的REST风格的四种请求方式 0 2017-08-28 22:00:25 一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. ...

  7. Flask框架中的四种请求勾子

    在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接:在请求开始时,根据需求进行权限校验:在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重 ...

  8. 解析四种大数据文件格式

    众所周知,Apache Spark支持许多种不同的数据格式,其中包括:无处不在的CSV格式.对于Web友好的JSON格式.以及常被用于大数据分析的Apache Parquet和Apache Avro. ...

  9. postman模拟post请求的四种请求体

    来源:https://blog.csdn.net/m0_37556444/article/details/82845694 postman的几种参数格式 post类型的body中可以存放任意的内容格式 ...

最新文章

  1. jvm十一:类加载器双亲委托机制
  2. 南邮 AAencode
  3. Ubuntu/Fedora高版本安装海思SDK的方法
  4. RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one.
  5. java中的single_解析java泛型(一)
  6. java调用linux命令
  7. Java List集合实现倒倒序排列
  8. python学习手册 简记
  9. html中让图片放大的代码,HTML5图片预览 放大(示例代码)
  10. 聚类分析K均值算法讲解
  11. [Codeforces] AIM Tech Round 5 (rated, Div. 1 + Div. 2) 总结+题解
  12. 关于2022年电改政策的解读
  13. 香帅的北大金融学课笔记4 -- 基金
  14. 【Java书笔记】:《Redis 深度历险:核心原理和应用实践》分布式锁,延时队列,位图,HyperLogLog,布隆过滤器,漏斗限流,GeoHash,Scan,管道,事务,主从,Redis源码
  15. 爬取王者荣耀皮肤图片
  16. 输入n个整数,输出其中的最大值
  17. 京东 vs 苏宁:两个穷人的流血战争
  18. Exchange Server分层通讯簿 (HAB) 和 地址簿策略 (ABP)
  19. Unity Android 之 应用打开手机的指定网页浏览器(external browser)的两种方法(封装aar和不用封装aar方法)
  20. 2018 Google I/O 干货摘要以及对Android开发者的影响

热门文章

  1. 为什么S/4HANA的生产订单创建后会自动release
  2. SAP Fiori里的List是如何做到懒加载Lazy load的
  3. pyqt5必须和python对应_python 使用PyQt5
  4. php mariadb 查询语法,从PHP调用的查询中的MySQL(MariaDB)执行超时
  5. linux c进程和线程脑图,进程和线程
  6. 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...
  7. 可能是最简单的同步fifo 的设计
  8. mysql uuid_short 为什么不存在_MySQL内置函数uuid和uuid_short
  9. 数学计算机培训反思,小学数学信息技术反思日志5
  10. 执行sqoop 用shell_Mysql和Hive之间通过Sqoop进行数据同步