python-2.7 - 为什么在 Python2.7 中出现错误 AttributeError: 'Response' object has no attribute 'get'?
问题描述
我收到错误 AttributeError: 'Response' object has no attribute 'get' 对于我编写的以下代码
def convert_json(self,bucket,userid,imgfilename,field,i):
bucketName = bucket
link = "users_"+str(userid)+'/'+imgfilename
c = S3Connection(self.AWS_ACCESS_KEY_ID,self.AWS_ACCESS_KEY_SECRET)
p = c.generate_url(expires_in=long(7200),method='GET',bucket=bucketName,key=link,query_auth=True,force_http=False)
post_url = "http://someurl"
wrapper = {"filename":p}
try:
response = requests.post(post_url, json=wrapper)
print response
if response.status_code == 200:
text = response.get('description', [])
else:
text = []
except Exception:
if response.status_code == 200:
text = response.get('description', [])
else:
text = []
return text
解决方案
该对象不是字典,因此您不能使用get
. 您可能会通过以下任一方式找到您需要的东西:
- r.status_code
- r.content
- r.text
- r.json()
引用页面上给出的requests
示例:
>>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'disk_usage': 368627, u'private_gists': 484, ...}
推荐阅读
- c# - 在数据绑定列表视图中的相同索引处单击按钮更改文本框的字段
- node.js - Dialogflow Fulfillment TypeError:无法读取属性“参数”
- java - 如何修复 Spring Security (Java) 配置中默认 AccessDeniedHandler (AccessDeniedHandlerImpl) 的覆盖?
- nginx - 如何在 nginx 中包含位置块?
- delphi - “文件”和最近项目标题的本地化
- c# - 如何在我选择它之前禁用 PivotItem 加载?(UWP C#)
- javascript - 如何使用 chrome 扩展在网页中注入模板组件?
- spring-boot - 我是流口水的新手。有什么文件或视频可以参考吗
- c# - 带有计数、内连接、groupby 到 LINQ 的 Sql 查询
- python - AIVA - 预期的 IO 客户端数量未能及时加入