我正在尝试向API提交一个简单的帖子,它告诉我我缺少字段。使用Chrome插件发布时,相同的数据有效。
你能看到我这样做的方式有什么问题吗?
def post(self, url, **kwargs):
results = requests.post(
self.host + url,
params=json.dumps(kwargs),
headers=self.headers)
print "Original params: ", kwargs
print "Ok?: ", results.ok
print "Reason: ", results.reason
print "JSON: ", results.json()
OUT:
Original params: {'name': 'The Dants', 'id': 'Dant'}
Ok?: False
Reason: BAD REQUEST
JSON: {u'id': [u'This field is required.'], u'name': [u'This field is required.']}
答案 0 :(得分:1)
params
将内容放入查询字符串中。您希望将您的内容放在POST请求的正文中。在POST请求中可以同时使用params和body,但这不是必需的。
将params=
更改为data=
,将您的json放入正文中。