在PostMan中用Post方式,Body有form-data,x-www-form-urlencoded,raw,binary四种。

其中raw又分以下7种。

现在来区分一下:

form-data

是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。

Request Header示例:

POST /upload.do HTTP/1.1

User-Agent: SOHUWapRebot

Accept-Language: zh-cn,zh;q=0.5

Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7

Connection: keep-alive

Content-Length: 60408

Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC

Host: www.sohu.com

--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC

Content-Disposition: form-data;name="desc"

Content-Type: text/plain; charset=UTF-8

Content-Transfer-Encoding: 8bit

[......][......][......][......]...........................

--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC

Content-Disposition: form-data;name="pic"; filename="photo.jpg"

Content-Type: application/octet-stream

Content-Transfer-Encoding: binary

[图片二进制数据]

--ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC--

x-www-form-urlencoded

是http请求中的application/x-www-from-urlencoded,会将表单内的数据转换为键值对,&分隔。

当form的action为get时,浏览器用x-www-form-urlencoded的编码方式,将表单数据编码为

(name1=value1&name2=value2…),然后把这个字符串append到url后面,用?分隔,跳转

到这个新的url。

当form的action为post时,浏览器将form数据封装到http body中,然后发送到server。

这个格式不能提交文件。

raw

可以上传任意格式的文本,可以上传text、json、xml、html、javascript等

binary

等同于Content-Type:application/octet-stream,只可上传二进制数据,通常用来上传文件,由于没有键值,所以一次只能上传一个文件。

注意:

form-data与x-www-form-urlencoded不同之处在于(multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息; x-www-form-urlencoded:只能上传键值对,且键值对都是间隔分开。)

1、form-data:

就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;

由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。

2、x-www-form-urlencoded:

就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=Java&age = 23

3、raw

可以上传任意格式的文本,可以上传text、json、xml、html等

4、binary

相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。

multipart/form-data与x-www-form-urlencoded区别

multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;

x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的

post请求改成body_post请求body格式相关推荐

  1. post请求改成body_Post 方法参数写在body中和写在url中有什么区别?

    解释之前我们先基于Http协议,根据Http的请求方法对应的数据传输能力把Http请求分为Url类请求和Body类请求,Url类请求包括但不限于GET.HEAD.OPTIONS.TRACE 等请求方法 ...

  2. nginx 反向代理web应用将https请求转成http请求时,必须注意事项

    通过nginx可以实现将https请求转成http请求.具体方法这里暂且不表. 但有一项配置必须要添加(查看大多数配置均为对此进行提及): proxy_set_header WL-Proxy-SSL ...

  3. jfif格式怎么改成jpg或png格式?

    小编最近在百度中下载图片的时候,下载到了不少.jfif格式的图片,但是将这些图片放到photoshop中处理的时候发现这种格式的图片不能被打开,可能是因为这种图片格式不是常见的.jpg或png格式的原 ...

  4. 如何把get请求改成post

    get参数2000字符以内,超过就会报请求参数校验失败. 所以要把get改成post 1.后台 @RequestMapping(value = "/file_F_save", me ...

  5. java如何将英文日期转成中文_中文字符串日期改成英文的日期格式

    例如:将17-03-2017   改成 12 Feb 2017 String registedday = "17-03-2017"; registedday = registedd ...

  6. post请求改成body_如何使用BODY快速发送POST请求

    我正在尝试使用Alamofire快速发布尸体的发布请求. 我的json主体看起来像: { "IdQuiz" : 102, "IdUser" : "io ...

  7. 如何把ajax改成同步请求,如何将Ajax请求从异步改为同步

    初学c# -- 学习笔记(四) 想想,数据库先用mysql了,这玩意小且安装方便.前面web学了些,现在学winform的.数据库先看看便捷的mysql. 下载了一个mysql5.7版的,装上居然找不 ...

  8. PDF转word之后的结果事图片格式,如何改成.doc或.docx格式

    PDF转Word成功之后的结果文件应该就是.doc或.docx格式的,不会变成图片格式. 可以使用专业的PDF转换器:okfone PDF转换大师 点击下载 点击进入[PDF转文件],导入需要转换的P ...

  9. vue项目起本地,改成https协议请求

    一般正常的vue项目,本地localhost起来默认是http请求协议开头的. 如果后端将http协议改成https请求,那么我们前端也需要进行更改,否则后端接口会报400(bad  resquest ...

最新文章

  1. python 事件通知模式_请问在 Python 的事件系统中,如何可以通过事件通知立刻终结一个正在运行的子线程?...
  2. chrome浏览器测试插件postman安装
  3. 基于Elasticsearch实现搜索建议
  4. **Java有哪些悲观锁的实现_面试4连问:乐观锁与悲观锁的概念、实现方式、场景、优缺点?...
  5. 算法的时间和空间复杂度
  6. ip访问php $_files空,PHP中表单没有问题但$_FILES为空怎么办?
  7. 【二分】雪(luogu 7405)
  8. 局域网大型文件分发的可能解决方案
  9. android obd编程,Android蓝牙连接汽车OBD设备
  10. zbbix服务器搭建_zabbix服务器的搭建
  11. SSH远程执行命令环境变量问题
  12. Windows Media Center SDK 在 GitHub 上发布
  13. uploadify 3.1 /3.2 在Firefox,Chrome 浏览器下,进入页面请求两次问题解决办法。
  14. 如何检查视频画面延迟的时间
  15. Luogu1501[国家集训队] Tree II
  16. 苹果铃声制作(流水是操作记录)
  17. oracle如何修改redo,修改oracle redo
  18. 银河麒麟高级服务器v10 sp1 搭建局域网yum源(同步阿里yum源centos7.9)
  19. 软件开发学习的5大技巧,你知道吗?
  20. 蓝桥杯第四届C/C++ B省赛题目及题解

热门文章

  1. 心得14--jsp遍历所有数据标签与转义标签
  2. DATEDIFF 函数使用
  3. Neo4j 图创建2 以小麦及其相关信息为例(未完成)
  4. Leetcode--72.编辑距离(java)
  5. Java多线程编程递增_java多线程编程之简介
  6. ssrf漏洞 php,DokuWiki fetch.php SSRF漏洞与tok安全验证绕过分析
  7. 计算机主机机箱面板辐射,电脑机箱如何防辐射----给大家科普一下
  8. python元组求和_Python 列表和元组 - 学习笔记(持续更新)
  9. Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)下
  10. OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换