Python httplib ResponseNotReady

Я пишу клиенту REST для elgg использование Python, и даже когда запрос успешно выполняется, я получаю это в ответ:

Traceback (most recent call last):
  File "testclient.py", line 94, in <module>
    result = sendMessage(token, h1)
  File "testclient.py", line 46, in sendMessage
    res = h1.getresponse().read()
  File "C:\Python25\lib\httplib.py", line 918, in getresponse
    raise ResponseNotReady()
httplib.ResponseNotReady

Смотря на заголовок, я вижу ('довольная длина', '5749'), таким образом, я знаю, что там существует страница, но я не могу использовать .read () для наблюдения его, потому что исключение подходит. Что имеет в виду ResponseNotReady и почему я не могу видеть содержание, которое было возвращено?

34
задан directedition 12 July 2010 в 19:32
поделиться

2 ответа

Убедитесь, что вы не используете повторно тот же объект из предыдущего подключения. Вы нажмете это, как только сервер keep-alive закончится и сокет закроется.

39
ответ дан 27 November 2019 в 16:08
поделиться

Сегодня я столкнулся с этим же исключением, используя этот код:

    conn = httplib.HTTPConnection(self._host, self._port)
    conn.putrequest('GET',
        '/retrieve?id={0}'.format(parsed_store_response['id']))
    retr_response = conn.getresponse()

Я не заметил, что использовал putrequest, а не request; я смешивал свои интерфейсы. ResponseNotReady возникает потому, что я еще не отправил запрос.

2
ответ дан 27 November 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: