Python:“TypeError:'Response'对象没有属性'__getitem__'

时间:2015-03-25 19:09:56

标签: python-2.7

我尝试在开帐户和发帖之前研究这个问题。我的研究尚无定论,主要是因为我是Python新手。

问题: 我正在尝试匹配if语句,以确保服务器在运行主代码之前已启动并运行。

无效的解决方案集:
1)我尝试了以下 if语句
2)我尝试管道变量以查找前导/结束空格 3)我尝试了 response.split
4)我尝试了 响应[:3] 来匹配前3个字符并得到上述错误

脚本将执行的操作: 弹性系统服务器返回"<响应[200]>"如果它已启动并正在运行。

代码:

Import requests    
es_server = "IP:PORT"
response = requests.get("http://" + es_server)
if response == '<Response [200]>':
 print "yep"

如果我尝试使用response.text()

,我会收到unicode错误

1 个答案:

答案 0 :(得分:2)

requests.get的结果不是字符串,而是包含各种信息的Response对象。 <Response [200]>只是该对象的字符串表示,但它不等于对象本身。有关文档,请参阅here

如果要测试响应的状态代码,请按以下方式检查:

if response.status_code == 200:
    print "yep"