Python请求没有status_code的响应

时间:2015-07-28 13:25:25

标签: python json django oauth-2.0

在Django项目中通过rauth使用Oauth2,我可以连接到自定义API。一旦用户通过访问令牌登录,API文档就会声明我可以通过发送带有特定标头的请求来获取用户信息。

我能够使用Requests Python库发送请求,但我无法找到如何处理响应,因为api的响应据称是一个简单的json文件。 Django引发了一个AttributeError,因为响应没有status_code属性:

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  230.             response = self.apply_response_fixes(request, response)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in apply_response_fixes
  277.             response = func(request, response)
File "/usr/local/lib/python2.7/dist-packages/django/http/utils.py" in conditional_content_removal
  30.     if 100 <= response.status_code < 200 or response.status_code in (204, 304):

Exception Type: AttributeError at /complete/myecp
Exception Value: 'dict' object has no attribute 'status_code'

当我检查局部变量中的响应时,它确实是json格式化的,带有“X-Frame-Options”键和带有用户信息的键列表:

    {'X-Frame-Options': 'SAMEORIGIN',
     ...
     u'gender': u'M',
     u'id': 22943,
     ...
}

关于如何正确检索此响应的任何想法?

以下是我认为的要求:

headers = {'Authorization': 'Bearer '+token} 
r = requests.get('https://the.url', headers=headers)
user_data = r.content

0 个答案:

没有答案