文档似乎表明我可以将'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
为什么呢?我在文档中遗漏了什么吗?
答案 0 :(得分:1)
requests.post()
的data
参数接受表单编码的数据(如果您传递dict
)或原始字符串(这就是为什么json.dumps(options)
有效的原因)。
要传入非编码字典,您应使用json
的{{1}}参数。