requests 发送一个post 请求

本文详细解析了Python的requests库中POST请求的实现方式,重点介绍了如何正确使用json参数,并指出了一些常见的误区,如提前将json数据转换为字符串可能导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

requests 发送一个post 请求

查看requests.post() 方法源码
在这里插入图片描述
post请求方法:post(url,data=None,json=None,**kwargs)
python的requests的post请求中,有一个json参数。源码中对于此参数的说明以下:
一个json序列化的python对象。python中字典表达与json很类似。
在post请求中,对传进来的json值,会作以下处理:

一、会使用json模块中的dumps方法转成json数据。
  
二、会增长消息头中的content_type为application/json

因此,json参数不须要提早使用json模块的方法转成json字符串。

请注意,这里有坑:若是在传参时,提早转换成json字符串:requests.request(“post”,url,json=json.dumps(a),headers=headers)

在post请求中,还会再使用jsons模块转成json数据。那么此时的请求数据会在最外多了一层引号。

请求数据结果为:"{\“pwd\”: \“1234567890\”, \“mobilephone\”: \“18611000001\”}"

而实际上咱们要发送的数据是没有外层引号的,即:{\“pwd\”: \“1234567890\”, \“mobilephone\”: \“18611000001\”}

“{\r\n “grant_type”: “password”,\r\n “username”: “admin”,\r\n “password”: “1234qwer”,\r\n “deviceId”: “3843282aa187ea51a40ca5a314c8c417”\r\n}”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值