• post请求body格式


    在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:只能上传键值对,并且键值对都是间隔分开的

  • 相关阅读:
    看动画学算法之:栈stack
    asp.net core使用identity+jwt保护你的webapi(三)——refresh token
    asp.net core使用identity+jwt保护你的webapi(二)——获取jwt token
    与 Python 之父聊天:更快的 Python!
    Oracle使用SPM对含有绑定变量SQL做固定的方法
    Oracle Hint no_merge(merge)、no_unnest(unnest)的作用对象陷阱
    Oracle全表扫描导致的direct path read第一次慢第二次以后变快
    Oracle OEM13C添加主机监控遇到一些问题汇总
    还傻傻分不清楚equals和==的区别吗?看完就明白了
    从0到1实现一个简单计算器
  • 原文地址:https://www.cnblogs.com/bolang100/p/10918145.html
Copyright © 2020-2023  润新知