我使用Python请求发出此请求的方式有问题吗?

时间:2014-04-28 00:22:54

标签: python post python-requests

我正在尝试向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.']}

1 个答案:

答案 0 :(得分:1)

params将内容放入查询字符串中。您希望将您的内容放在POST请求的正文中。在POST请求中可以同时使用params和body,但这不是必需的。

params=更改为data=,将您的json放入正文中。