Python3的requests.post()方法的源码:

def post(url, data=None, json=None, **kwargs):r"""Sends a POST request.:param url: URL for the new :class:`Request` object.:param data: (optional) Dictionary (will be form-encoded), bytes, or file-like object to send in the body of the :class:`Request`.:param json: (optional) json data to send in the body of the :class:`Request`.:param \*\*kwargs: Optional arguments that ``request`` takes.:return: :class:`Response <Response>` object:rtype: requests.Response"""return request('post', url, data=data, json=json, **kwargs)

从上述源码中看出,参数中明确的参数是data和json
data与json2个参数,类型既可以是str,也可以是dict
区别如下:

不管json是str还是dict,如果不指定headers中的content-type,默认为application/json
data参数为dict时,如果不指定content-type,默认为application/x-www-form-urlencoded,相当于普通form表单提交的形式,此时数据可以从request.POST里面获取,而request.body的内容则为a=1&b=2的这种形式,注意,即使指定content-type=application/json,request.body的值也是类似于a=1&b=2,所以并不能用json.loads(request.body.decode())得到想要的值
data参数为str时,如果不指定content-type,默认为application/json
用data参数提交数据时,request.body的内容则为a=1&b=2的这种形式,用json参数提交数据时,request.body的内容则为’{“a”: 1, “b”: 2}'的这种形式
因此,拿注册接口来说明,有两种实现方式:

Python-Requests.post方法中,传参data与json的区别相关推荐

  1. python post json参数,Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  2. python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  3. python 构造函数传参_C++和python混合编程之在python类构造函数中传参方法

    C++和python混合编程 零.前言 一.说明 二.测试代码 1.C++代码 2.python代码 三.运行结果 零.前言 C++是一门高效率的语言,Python是一门简单易学的脚本语言,现在Pyt ...

  4. Python字符串的修改以及传参

    前两天去面试web developer,面试官提出一个问题,用JavaScript或者Python实现字符串反转,我选择了Python,然后写出了代码(错误的): 1 #!/usr/bin/env p ...

  5. vue父页面调用子页面及方法及传参,鼠标光标定位

    项目场景: vue父页面调用子页面及方法 问题描述 vue中父界面调用子界面及方法时界面可以调用,但是调用方法的时候第一次报错,但是关掉界面再次重新打开就没问题了 原因分析: 在我之前添加鼠标指针定位 ...

  6. 关于Python、C语言的传参问题

    关于Python与c语言的传参问题 Python中 c语言中 要理解Python中的变量与c语言中的变量是不同的.很重要!!!!!!!!!!!!!!!!! 我们都知道函数的参数分为形参和实参. 形参就 ...

  7. java jsp 传递参数的方法,jsp传参方法小结

    一.jsp页面到jsp页面## 1.从a.jsp传递 //将参数值为aaa,参数名test的参数传递到b.jsp页面中 2.在b.jsp接收 System.out.println("test ...

  8. java中的就近原则、方法中值传递和引用传递的区别、什么是构造方法、this关键字用法、什么是封装

    你知道java中的就近原则嘛? package com.Test.java; /*** * 在java里面有一个"就近原则"详情可以参照下面代码**/public class Ac ...

  9. 一个json传参的错误:JSON parse error: Unrecognized token ‘xxx‘{ “timestamp“: “2022-03-06T16:06:29.866

    一个json传参的错误: JSON parse error: Unrecognized token 'xxx' {     "timestamp": "2022-03-0 ...

最新文章

  1. 真AI用钱表达:这家少年班毕业生创办的AI公司三年就盈利,增速300%
  2. leetcode-13-罗马数字转整数
  3. C#简易通讯录的开发试题
  4. 系统级alias vs Oracle ADR功能
  5. 拿下京东榜单第五首战告捷,看联想手机如何上演王者归来
  6. Day11-递归性能测试
  7. Arthas - Java 线上问题定位处理的终极利器
  8. Highcharts 宽度溢出容器
  9. spark学习-31-spark2.2.0中Utils.getCallSite()的作用
  10. 利用layui来完成垂直和侧边导航的小案例
  11. Sudo: unable to initialize policy plugin 解决方法
  12. php与ununtu通信,Ubuntu 20.04 LTS 已引入 PHP 7.4
  13. .net 2.0 服务器应用程序不可用 解决方案集
  14. Atitit 业务领域体系分类 目录 1. 按照互联网企业类型以及只是体系类的分类 2 2. 电子商务 2 3. **通信类社交 Im类 em 2 4. **信息搜索类爬虫 2 4.1. 媒体
  15. 迅雷连接转化为http链接
  16. Arduino 利用ADS1115 AD转换模块进行数据读取
  17. R语言中的函数5:purrr:map()
  18. 设计图标(logo)
  19. 【SVAC】SVAC标准简介
  20. 兔子与兔子 字符串hash

热门文章

  1. 清理 zabbix 历史数据, 缩减 mysql 空间
  2. BZOJ3110: [Zjoi2013]K大数查询
  3. Eclipse安装Database Development插件。
  4. jquery通过ajax提交form
  5. Xshell选中的同时把内容复制到剪贴板(还可以设置设置文本分隔符)
  6. jquery源码--jquery对象
  7. TreeView 跟 Iframe 关联设置的方法。
  8. STM32 备份寄存器操作
  9. UNICODE与UTF-8的转换
  10. 排序 (2)快速排序