[英]why does python requests.post accept json for data but not a dictionary
文档似乎表明我可以将 'data=' 作为字典传递,但除非我使用json.dumps()
否则我会收到错误消息
options = {
"deviceId":["4d51de64-2235-a465-3aee-5ec495b5b250"],
"serviceName":"software_manager",
"serviceVersion":"1.0",
"actionName":"Dump Log Files" }
res = requests.post( req, data=json.dumps(options), auth=cred)
如果我尝试将选项作为字典传递,它会失败。
res = requests.post( req, data=options, auth=cred)
data=json.dumps(options) # This works
data=options # this fails
为什么? 我在文档中遗漏了什么吗?
requests.post()
的data
参数要么接受表单编码的数据(如果您将其传递给dict
),要么接受原始字符串(这就是json.dumps(options)
起作用的原因)。
为了传入一个非编码的字典,你应该使用.post()
的json
参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.