Python Glossary English

все Python 3http.clientисключение

http.client.ImproperConnectionState

исключения

Базовый класс ошибок неправильного порядка вызовов на соединении: CannotSendRequest, CannotSendHeader и ResponseNotReady. Потомок HTTPException.

Синтаксис

except http.client.ImproperConnectionState as e: ...

HTTPConnection — конечный автомат: Idle → запрос начат → запрос отправлен → ответ получен и дочитан → снова Idle. Любой шаг не по порядку даёт потомка этого класса, а текст исключения называет текущее состояние ('Idle', 'Request-started', 'Request-sent'). Чаще всего причина — недочитанный ответ или одно соединение, которое делят несколько потоков: HTTPConnection не потокобезопасен.

Примеры

import http.client
conn = http.client.HTTPConnection('example.com')
try:
    conn.getresponse()  # запроса ещё не было
except http.client.ImproperConnectionState as e:
    print(type(e).__name__, e)  # → ResponseNotReady Idle

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности