我的请求标头格式如下:
{
"projectName": New001,
"cloudRegions":{"REGION1":"centralus"},
"cloudAccountName":"XXX-XXXX-XXXX"
}
如何格式化以接受{“REGION1”:“centralus”}?
我的Python代码:
url = 'www.myexample.com'
headers = {'Content-Type': 'application/json',
'projectName': New001,
'cloudRegions':{'REGION1':'centralus'},
'cloudAccountName':'XXX-XXXX-XXXX'
}
r = requests.post(url, headers=headers)
问题是我无法向cloudRegions的格式正确发出请求。值是字典格式,但它不喜欢。我已经尝试使用json.loads(),json.dumps()将它包装在str()中,但它总是格式错误。如何将其格式化为可以成对接受的对象?
此CURL有效,您将看到相同的格式:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"projectName": "New001", \
"cloudRegions":{"REGION1":"centralus"}, \
"cloudAccountName":"XXX-XXXX-XXXX" \
}' 'http://www.myexample.com'
答案 0 :(得分:1)
您正在使用HTTP标头发送数据(非常不寻常),而您的curl示例清楚地表明您必须以HTTP格式发送数据,格式为JSON。 requests
可以很容易地做到这一点。
所以简单地使用:
url = 'www.myexample.com'
data = {'projectName': 'New001',
'cloudRegions': {'REGION1':'centralus'},
'cloudAccountName': 'XXX-XXXX-XXXX'
}
r = requests.post(url, json=data)