为什么python requests.post接受数据的json而不是字典

为什么python requests.post接受数据的json而不是字典,python,json,python-requests,Python,Json,Python Requests,文档似乎表明我可以将“data=”作为字典传递,但除非使用json.dumps() 如果我尝试将选项作为字典传递,它将失败 res = requests.post( req, data=options, auth=cred) data=json.dumps(options) # This works data=options # this fails 为什么??我在文档中遗漏了什么吗?的数据参数要么接受格式编码的数据(如果传递dict),要么接受原始字符串(这就是j

文档似乎表明我可以将“data=”作为字典传递,但除非使用
json.dumps()

如果我尝试将选项作为字典传递,它将失败

res = requests.post( req, data=options, auth=cred) 

data=json.dumps(options) # This works
data=options             # this fails

为什么??我在文档中遗漏了什么吗?

数据
参数要么接受格式编码的数据(如果传递
dict
),要么接受原始字符串(这就是
json.dumps(options)
工作的原因)


为了传入非编码字典,您应该使用
.post()

json
参数?显示错误。您应该使用
res=requests.post(req,json=options,auth=cred)
。您需要检查目标在post中需要的介质类型。它可能会失败,因为目标仅接受json。谢谢!json=works,data=nots。错误仅仅是status\u code=400Thank。我错过了关于“表单编码”的部分。。。http新手!
res = requests.post( req, data=options, auth=cred) 

data=json.dumps(options) # This works
data=options             # this fails