Eri*_*agt 12 python rest python-requests
我有一个非常简单的问题,但我无法弄明白该怎么做.我遇到的问题是我想使用Python和请求发送以下有效负载:
{ 'on': true }
Run Code Online (Sandbox Code Playgroud)
这样做:
payload = { 'on':true }
r = requests.put("http://192.168.2.196/api/newdeveloper/lights/1/state", data = payload)
Run Code Online (Sandbox Code Playgroud)
不起作用,因为我收到以下错误:
NameError: name 'true' is not defined
Run Code Online (Sandbox Code Playgroud)
我的服务器不接受将true发送为"true",因此这不是一个选项.有人建议吗?谢谢!
GP8*_*P89 17
您需要对它进行json编码才能将其转换为字符串.
import json
payload = json.dumps({"on":True})
Run Code Online (Sandbox Code Playgroud)
从requests 2.4.2开始,您可以像这样data使用参数,json而不是通过参数传入payload :
payload = {'on': True}
requests.put(url, json=payload)
Run Code Online (Sandbox Code Playgroud)
并且请求将被正确格式化为 json 有效负载(即{'on': true})。
| 归档时间: |
|
| 查看次数: |
12054 次 |
| 最近记录: |