在url中发布json数据 - Python

时间:2014-01-31 09:17:00

标签: python json python-requests

我将JSON数据存储在[{"totalspend": 3240.650785131, "dailybudget": 50.0}]格式的变量中。

我正在尝试使用以下内容将此JSON数据发布到网址:

import requests
r = requests.post("myurl", myjson)

但是在执行代码后我无法在我的网址上看到结果。

2 个答案:

答案 0 :(得分:2)

您的服务器很可能希望设置Content-Type: application/json标头:

r = requests.post("myurl", data=myjson, 
                  headers={'Content-Type': 'application/json'})

确保myjson是实际的JSON 字符串,而不是Python列表。

如果您使用的是requests版本2.4.2或更高版本,则可以将JSON数据的编码完全保留到库中;它会自动为您设置正确的Content-Type标头。您将 Python对象(不是JSON字符串)传递给json关键字参数:

 r = requests.post("myurl", data=myobject)

答案 1 :(得分:0)

您需要先设置标头: 试试:

import json
import requests
payload = {"totalspend": 3240.650785131, "dailybudget": 50.0}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)