2015-03-25 7 views
4

Я пытался исследовать этот вопрос до принятия счета и проводки Мое исследование было безрезультатным в основном потому, что я новичок в PythonPython: «TypeError: объект„Response“не имеет атрибута„__getitem__“

.. Проблема: Я пытаюсь соответствовать а, если заявление, чтобы гарантировать, что сервер запущен и работает до запуска моего основного кода

множества решений, которые не работают:.
1) Я пыталсяниже если заявление
2) Я попробовал перемычку переменной, чтобы искать ведущие/конечные пробелы.
3) Я попробовал response.split
4) Я попробовал ответ [: 3], чтобы соответствовать первые 3 символа и получил вышеуказанную ошибку

Что сценарий будет делать: Сервер elastisearch возвращает «< Response [200]>», если он запущен и работает.

Код:

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

Я получаю Юникода ошибки при попытке response.text()

+0

выше работал, спасибо за быстрый ответ и объяснение – ImNotLeet

ответ

2

Результат requests.get не является строкой, а Response объект, содержащий все виды информации. <Response [200]> - это всего лишь строковое представление этого объекта, но оно не равно самому объекту. См. here для некоторых документов.

Если вы хотите, чтобы проверить код состояния ответа, вы должны проверить, как это:

if response.status_code == 200: 
    print "yep" 
Смежные вопросы