python requests一个非常蠢的问题: post请求中data和json的区别

news2024/9/24 5:26:41

问题

最近在写java的ODD + cucumber的框架,其中的接口调用相比python来说非常繁琐,很不友好,如下图在这里插入图片描述

所以我打算先用python调一下这个接口,代码如下,url已做脱敏处理

import requests
url = "http://xxxxxxxxxxxxxxxxxxx:9660/api/data/odsc/hex"

headers = {
    "accept":"*/*",
    "Connection" : "keep-alive",
    "Content-Type" : "application/json"
}
payload = {
    "topic" : "m-100",
    "vin": "ABCDEFGHIJKLMNOPQ",
    "hexPayload" : "23 23 02 71 62 61 6A 66 67 79 34 6E 77 33 73 39 66 6F 31 34 06 01 00 76 17 04 19 0D 14"
                   " 08 00 05 02 17 04 19 0D 14 08 22 11 67 00 05 55 44 22 11 34 17 11 22 45 35 34 15 44 21 "
                   "45 02 67 48 36 01 06 D1 F5 D5 01 D0 C7 3B 00 00 00 00 20 D6 AE E8 BE 7F 46 FB 75 12 1E "
                   "2A 12 1E AC 10 4C 77 B8 84 D1 26 43 7E 46 3B A7 DB 6B 19 D9 C6 AC 20 91 BE DD D1 2D C2 80"
                   " EB 47 09 87 AA 3A C1 90 0D 03 EB AE 1F 66 F7 2A 3E F6 FF FE 85 46 01 42 A8 41"
}

r = requests.post(url,headers = headers, data = payload)
print(r.text)
print(r.headers)

返回结果400
在这里插入图片描述

总结

经过排查,发现是post中不应该用data = xxx 而已该使用json =, 改完后请求成功,可以正常访问
犯蠢了,太久没用了
在这里插入图片描述

request.传参,json = , data = 以及 params = 这三者的区别

首先,params只适用于get方法。

然后,data = 和 json = 的区别可以用一句话来概括:
json 和 data 传的都是json格式的数据,不过json = 传的值在python中是以字典形式存在的,而data = 传的值在python中是以string形式存在的。

将上面代码中的发送请求的代买改为如下:

r = requests.post(url,headers = headers, data= json.dumps(payload))

在这里插入图片描述
同样的效果

json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
  (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
  (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式安卓开发:使用Camera2获取相机

文章目录 Camera2介绍Camera2的主要API类介绍CameraManager通过CameraManage获取Cameracharacteristics通过CameraManage获取CameraDevice从CameraDevice获取CameraCaptureSession预览效果 参考 Camera2介绍 从Android 5.0开始,Google 引入了一套全新的相机框架 Ca…

银行数字化转型导师坚鹏:银行数字化转型培训方案

目录 一、银行数字化转型培训背景 二、银行数字化转型模型 三、银行数字化转型课程设计思路 四、 银行数字化转型课程基本介绍 五、 银行数字化转型课程设置 六、银行数字化转型课程大纲 七、培训方案实施流程 一、银行数字化转型培训背景 2020年1月3日&#xff…

2023年IC行业薪资有多高?(内含各岗位薪资对比)

在网上看到一个很火的提问:2023了,IC行业高薪还在吗?其实这也是很多同学比较关注的一个问题,下面我们就一起来了解一下IC行业薪资有多高。 不同高校层次硕士-IC设计薪资情况 从不同岗位类型的offer占比情况来看,从事I…

SaaS云HIS系统源码功能介绍

SaaS云HIS首页功能:包括工作计划、预警、主功能菜单、医院机构公告。 一、工作计划 1.值班概况:值班日期、值班时间、值班科室(内科、外科等) 2.待处理患者:内科人数、外科人数等 病历统计:入院病历、出…

Java冒泡排序(Bubble Sort)算法实例

何为冒泡排序? 冒泡:就像气泡从水中冒出来一样 在冒泡排序中,最小数或最大数取决于您是按升序还是降序对数组进行排序,向上冒泡到数组的开头或结尾。算法描述: 比较相邻的元素。如果第一个比第二个大,就交…

【网络编程】

1.网络基础(见PDF文件) file:///D:/0graduate/000%E5%AE%9E%E4%B9%A0%E5%B0%B1%E4%B8%9A/C/webserver/4.1/%E7%BD%91%E7%BB%9C%E5%9F%BA%E7%A1%80.pdf 2.协议 UDP协议 TCP协议 源端口号:发送方端口号目的端口号:接收方端口号序…

Dubbo (1)

目录 认识RPC Dubbo 认识RPC RPC是解决不同JVM之间数据调用的一个思想,比如说现在有2台不同的机器,业务代码需要在这2台机器间调用后台业务代码,RPC就可以解决这2台机器业务代码调用的问题: 而RPC实现流程是什么样的呢&#xff…

中文版gpt-最新的人工智能gpt

最新的人工智能gpt 什么是GPT? GPT是一种自然语言处理和语言生成技术,它能够学习和理解自然语言,并生成高质量的文本。GPT是由OpenAI开发的,它采用了最新的深度学习技术,具备了强大的自我学习能力和语言理解能力。它…

Mybatis关联查询【附实战案例】

目录 相关导读 一、Mybatis一对一关联查询 1. 新增持久层接口方法 2. 新增映射文件对应的标签 3. 新增测试方法 4. 运行效果 二、Mybatis一对多关联查询 1. 新增持久层接口方法 2. 新增映射文件对应的标签 3. 新增测试方法 4. 运行效果 三、Mybatis多对多关联查询 …

HCL Nomad Web 1.0.7发布和新功能验证

大家好,才是真的好。 要问在HCL Notes/Domino系列产品中,谁更新得最快,那么答案一定是HCL Nomad Web。 你看上图右边,从1.0.1更新到1.0.7,都没花多少时间。 从HCL Nomad Web 1.0.5版本开始,可以支持直接…

逐浪智能时代,网易数帆“重写”低代码

如今,越来越多行业正驶入数字化转型的深水区,如何彻底释放数据生产力,成为所有企业的一道必答题。 4月25日,“网易数帆低代码业务战略发布会”在线上举行。在发布会上,网易数帆发布了CodeWave智能开发平台&#xff0c…

C#之Class的实例化过程

总目录 文章目录 总目录前言一、class的成员二、实例化顺序(无继承情况)1.声明时进行初始化2.在构造函数中初始化 三、实例化顺序(有继承情况)结语 前言 在平常开发的过程中,经常需要new 一个class,但是呢…

平安银行广州分行:以金融赋能慈善 释放更大社会效能

4月8日,平安银行广州分行“为爱徒步 欢乐‘益’起行”活动在广州市白云区钟落潭镇云溪湾新乡村示范带圆满举行。本次活动由平安银行广州分行主办,通过白云区供销合作联社组织,在助农过程中,同时公益捐步,助力建设云溪湾…

gitlab部署及整合Jenkins持续构建(三)sonarqube9.9安装和使用(一步一坑)

文章目录 postgresql13.0安装1、配置postgresql数据库2、进入postgresql创建数据库 代码质量管理平台--sonarqube安装1、前置依赖下载2、安装unzip并解压sonarqube并移动到/usr/local:3、修改sonarqube相应的配置4、新增用户,并将目录所属权赋予该用户&a…

资料链接 网络/系统/华为

网络: 缺省路由 https://www.cnblogs.com/ricksteves/p/9702546.html AC热备 快搜预览中心https://search.ruijie.com.cn:8447/rqs/preview.html?wdeHAiOjE1NDU4NzUxNDcsIm5iZiI6MTU0NTYxNTk0N302018092015272000303LqqZuvMhE7V7Ygl6r5RWsTHbWazT BGP https:…

nextjs 错误日志收集

最近用nextjs开发一款房产渠道管理的系统,从开始的项目管理,到价格单管理、订单管理、团队管理、中介管理、个人信息管理...等等功能越来越多的时候,前端偶现的问题不容易发现,造成了不必要的麻烦,就想搞个错误日志收集…

地理信息系统有哪些SCI期刊推荐? - 易智编译EaseEditing

以下是几本地理信息系统领域的SCI期刊推荐: International Journal of Geographical Information Science: 这是一个国际性的期刊,它涵盖了地理信息科学的所有领域,包括地图学、遥感、空间分析、地理信息系统、地理信息技术、地球信息学等等…

被chatGPT割了一块钱韭菜

大家好,才是真的好。 chatGPT热度一直上升,让我萌生了一个胆大而创新的想法, 把chatGPT嵌入到Notes客户机中来玩。 考虑到我已经下载了一个chatGPT的Notes应用(请见《ChatGPT APIs for HCL DOMINO》),想着…

Shell编程之条件语句

目录 一、条件测试 1)test命令 ​编辑 2)文件测试 常用的测试操作符 ​编辑 4)整数值比较 常用的测试操作符 6)逻辑测试 常用的测试操作符 7)三元运算符 二、if语句 1)单分支结构 2&#xff09…