Python Glossary English

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

http.client.UnknownProtocol

исключения

Сервер ответил версией протокола, которую http.client не понимает, — не HTTP/1.0 и не HTTP/1.1. Потомок HTTPException.

Синтаксис

raise http.client.UnknownProtocol(version)

http.client умеет только HTTP/1.x: ответ со строкой статуса «HTTP/2.0 200 OK» даёт UnknownProtocol, а текст исключения — сама версия. HTTP/2 и HTTP/3 модуль не поддерживает вовсе, для них нужны сторонние клиенты. Строка вообще без префикса HTTP/ — это уже BadStatusLine.

Примеры

import http.client
import socket
server, client = socket.socketpair()
server.sendall(b'HTTP/2.0 200 OK\r\n\r\n')
server.close()
resp = http.client.HTTPResponse(client)
try:
    resp.begin()
except http.client.UnknownProtocol as e:
    print('unsupported:', e)  # → unsupported: HTTP/2.0
client.close()

См. также

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