首页 > 其他分享 >requests中post参数data和json区别:

requests中post参数data和json区别:

时间:2023-09-14 16:11:24浏览次数:39  
标签:form Type Content application json requests 编码方式 data

HTTP 协议规定将一个完整的 HTTP 请求分为三个部分:请求头、请求行、请求体
大概框架如下:
<method> <request-URL> <version>
<headers>

<body>
POST http://httpbin.org HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

a_test=112233&b_test=223344

post请求:
协议规定 post 请求的数据必须放在请求主体中,但没有说明提交的数据必须使用什么编码方式,所以我们可以自定义编码方式,只要格式满足以上协议中规定的格式即可。
由于编码方式可以自定义,在 CS 结构中,服务器不可能提前知道客户端的编码方式,所以服务器可以成功解析数据的前提就是通过某个字段告诉服务端客户发送数据时所使用的编码方式,这个字段就是 Content-Type

post请求编码方式:

  1.application/x-www-form-urlencoded(通过表单形式提交数据)
  浏览器原生 form 表单,如果不设置编码类型,最终提交数据时所用的就是这种编码方式。最常见的编码方式,由于浏览器原生支持,用途最广泛。
  Content-Type 字段被设置为 application/x-www-form-urlencoded,body 数据为 key/value 的形式,通过 URL 编码后使用 & 符号进行连接。大部分的服务端都支持这种编码方式,好多编程语言的默认编码方式就是这个
  POST http://httpbin.org HTTP/1.1
  Content-Type: application/x-www-form-urlencoded;charset=utf-8

  a_test=112233&b_test=223344

 

  2.application/json(通过json形式提交数据)
  这种编码方式可以提交比较复杂的结构化数据,方便各种类型的数据交互
  POST http://httpbin.org HTTP/1.1
  Content-Type: application/json;charset=utf-8

  {"test":"test123","test22":[111,222,333]}

 

综上所述:

  data参数:发送的数据默认使用 application/x-www-form=urlencoded 编码方式进行处理,Content-Type 字段的值为 application/x-www-form-urlencoded,请求数据在 form 表单字段中

  json参数:通过 application/json 编码发送的数据,Content-Type 字段的值为 application/json,请求数据在 json 字段中

标签:form,Type,Content,application,json,requests,编码方式,data
From: https://www.cnblogs.com/xianyumaixianyu/p/17702770.html

相关文章

  • @JsonSerialize @JsonDeserialize @JsonFormat 三个注解的区别及一般用法
    三个注解区别@JsonSerialize:该注解用于指定在将Java对象序列化为JSON字符串时使用的序列化器。可以将其应用于字段、方法或类级别。通过@JsonSerialize注解,可以自定义序列化过程,例如将日期格式化为特定的字符串、将枚举类型序列化为其名称而不是值等。@JsonDeserialize:该注解用......
  • nodeJS读取JSON文件导出word文档
    前言最近遇到一个需求,将JSON文件的内容,导出到word文档,利用nodeJs和Officegen实现了文件导出的功能exportAWord.js代码如下/***读取指定文件夹下的JSON文件,导出为word*一个json文件为一个word,以json文件的名称为word文件的名称*/letfs=require("fs");letpath=......
  • netcore请求json斜杠带空格导致请求报错
    我用netcore发布了一个webapi接口,个别电脑,同样的浏览器(谷歌),swagger调用接口的时候,它的json体会加空格,然后请求就会报错。这是控制器里的方法下图是请求输入: 下图是加了空格的请求内容,如红色框所示,带了空格 下图是报错的内容下图是正常请求的内容,可以返回想要的结果......
  • axios+formdata上传多个文件(随手记录一下)
    <template><el-row><el-col:span="20":offset="4"style="text-align:left"><spanstyle="margin-left:200px">上传图片</span><el-uploadstyle="......
  • js中使用0 “” null undefined {}需要注意 if判断时候都是false,比如判断接收后台数
    js中使用0“”nullundefined{}需要注意if判断时候都是false,比如判断接收后台数据if(data.info){}注意:在js中0为空(false),代表空的还有“”,null,undefined;如果做判断if(!上面的四种值);返回均为false?1234567console.log(!null);//trueconsole.log(!0);//trueconsole.lo......
  • 使用 SAP Business Application Studio Data Editor 生成 Mock Data
    SAPBusinessTechnologyPlatform(BTP)是SAP提供的一种综合性云平台,用于构建、扩展和集成企业应用程序。它为企业提供了一个强大的工具集,以支持数字转型和业务创新。在BTP上,BusinessApplicationStudio(BAS)是一个云集成开发环境,它为开发人员提供了一种轻松创建、管理和......
  • 78L05线性稳压器件的datasheet参数解读
    78L05技术参数生命周期ObsoleteIHS制造商SHARPCORP包装说明DIP-8ReachComplianceCodeunknown风险等级5.62其他特性WITHSIGNALPROCESSINGCIRCUIT,ULRECOGNIZED,TTLCOMPATIBLE配置COMPLEX标称数据速率10MBps最大正向电流0.02A最大绝缘电压2500V元件数量1最高工作温度7......
  • 谷歌浏览器json格式化插件安装
    在前端开发中,经常需要处理json格式数据,方便查看和调试。而chrome浏览器提供了很多插件来帮助我们更方便地处理json数据,今天我们就来介绍一款非常方便的json格式化插件——JSONFormatter。插件安装该插件可以在ChromeWebStore中直接下载和安装,也可以通过浏览器插件商店进行安装。......
  • Jmeter BeanShell, 读取HTTP请求返回的JSON,并将其存到文件中
    1、创建BeanShellSampler将fastjson-1.2.30.jar放到Jmeter安装目录\lib下 importjava.io.*;importcom.alibaba.fastjson.JSONObject;importjava.io.IOException;importjava.io.File;importjava.io.FileOutputStream;importjava.io.FileWriter;privatestat......
  • C# JSON字符串转带头(声明)XML字符串
     privatestringConverXml(stringmemberId,intcode,stringmsg)    {      varresp=new{authenticate=new{member_id=memberId,status_code=code,message=msg}};      varjsonstr=JsonConvert.SerializeObject(re......