http — Модули HTTP
Исходный код: Lib/http/__init__.py
http — это пакет, который объединяет несколько модулей для работы с протоколом HyperText Transfer Protocol:
-
http.client— это клиент HTTP-протокола низкого уровня; для работы с URL на высоком уровне используйтеurllib.request -
http.serverсодержит базовые классы HTTP-серверов, основанные наsocketserver -
http.cookiesсодержит инструменты для реализации управления состоянием с помощью файлов cookie -
http.cookiejarобеспечивает сохранение файлов cookie
http также является модулем, который определяет ряд HTTP-статусов и соответствующих сообщений через перечисление http.HTTPStatus:
-
class http.HTTPStatus -
Новое в версии 3.5.
Подкласс
enum.IntEnum, который определяет набор HTTP-статусов, фраз причины и длинных описаний, написанных на английском языке.Использование:
>>> from http import HTTPStatus >>> HTTPStatus.OK <HTTPStatus.OK: 200> >>> HTTPStatus.OK == 200 True >>> http.HTTPStatus.OK.value 200 >>> HTTPStatus.OK.phrase 'OK' >>> HTTPStatus.OK.description 'Request fulfilled, document follows' >>> list(HTTPStatus) [<HTTPStatus.CONTINUE: 100>, <HTTPStatus.SWITCHING_PROTOCOLS: 101>, ...]
1. HTTP-статусы
Поддерживаемые, зарегистрированные IANA статусы, доступные в http.HTTPStatus:
| Код | Имя перечисления | Подробности |
|---|---|---|
100 | CONTINUE | HTTP/1.1 RFC 7231, Раздел 6.2.1 |
101 | SWITCHING_PROTOCOLS | HTTP/1.1 RFC 7231, Раздел 6.2.2 |
102 | PROCESSING | WebDAV RFC 2518, Раздел 10.1 |
200 | OK | HTTP/1.1 RFC 7231, Раздел 6.3.1 |
201 | CREATED | HTTP/1.1 RFC 7231, Раздел 6.3.2 |
202 | ACCEPTED | HTTP/1.1 RFC 7231, Раздел 6.3.3 |
203 | NON_AUTHORITATIVE_INFORMATION | HTTP/1.1 RFC 7231, Раздел 6.3.4 |
204 | NO_CONTENT | HTTP/1.1 RFC 7231, Раздел 6.3.5 |
205 | RESET_CONTENT | HTTP/1.1 RFC 7231, Раздел 6.3.6 |
206 | PARTIAL_CONTENT | HTTP/1.1 RFC 7233, Раздел 4.1 |
207 | MULTI_STATUS | WebDAV RFC 4918, Раздел 11.1 |
208 | ALREADY_REPORTED | Расширения привязки WebDAV RFC 5842, Раздел 7.1 (Экспериментальный) |
226 | IM_USED | Кодирование дельт в HTTP RFC 3229, Раздел 10.4.1 |
300 | MULTIPLE_CHOICES | HTTP/1.1 RFC 7231, Раздел 6.4.1 |
301 | MOVED_PERMANENTLY | HTTP/1.1 RFC 7231, Раздел 6.4.2 |
302 | FOUND | HTTP/1.1 RFC 7231, Раздел 6.4.3 |
303 | SEE_OTHER | HTTP/1.1 RFC 7231, Раздел 6.4.4 |
304 | NOT_MODIFIED | HTTP/1.1 RFC 7232, Раздел 4.1 |
305 | USE_PROXY | HTTP/1.1 RFC 7231, Раздел 6.4.5 |
307 | TEMPORARY_REDIRECT | HTTP/1.1 RFC 7231, Раздел 6.4.7 |
308 | PERMANENT_REDIRECT | Постоянное перенаправление RFC 7238, Раздел 3 (Экспериментальный) |
400 | BAD_REQUEST | HTTP/1.1 RFC 7231, Раздел 6.5.1 |
401 | UNAUTHORIZED | Аутентификация HTTP/1.1 RFC 7235, Раздел 3.1 |
402 | PAYMENT_REQUIRED | HTTP/1.1 RFC 7231, Раздел 6.5.2 |
403 | FORBIDDEN | HTTP/1.1 RFC 7231, Раздел 6.5.3 |
404 | NOT_FOUND | HTTP/1.1 RFC 7231, Раздел 6.5.4 |
405 | METHOD_NOT_ALLOWED | HTTP/1.1 RFC 7231, Раздел 6.5.5 |
406 | NOT_ACCEPTABLE | HTTP/1.1 RFC 7231, Раздел 6.5.6 |
407 | PROXY_AUTHENTICATION_REQUIRED | Аутентификация HTTP/1.1 RFC 7235, Раздел 3.2 |
408 | REQUEST_TIMEOUT | HTTP/1.1 RFC 7231, Раздел 6.5.7 |
409 | CONFLICT | HTTP/1.1 RFC 7231, Раздел 6.5.8 |
410 | GONE | HTTP/1.1 RFC 7231, Раздел 6.5.9 |
411 | LENGTH_REQUIRED | HTTP/1.1 RFC 7231, Раздел 6.5.10 |
412 | PRECONDITION_FAILED | HTTP/1.1 RFC 7232, Раздел 4.2 |
413 | REQUEST_ENTITY_TOO_LARGE | HTTP/1.1 RFC 7231, Раздел 6.5.11 |
414 | REQUEST_URI_TOO_LONG | HTTP/1.1 RFC 7231, Раздел 6.5.12 |
415 | UNSUPPORTED_MEDIA_TYPE | HTTP/1.1 RFC 7231, Раздел 6.5.13 |
416 | REQUEST_RANGE_NOT_SATISFIABLE | Запросы HTTP/1.1 с диапазоном RFC 7233, Раздел 4.4 |
417 | EXPECTATION_FAILED | HTTP/1.1 RFC 7231, Раздел 6.5.14 |
422 | UNPROCESSABLE_ENTITY | WebDAV RFC 4918, Раздел 11.2 |
423 | LOCKED | WebDAV RFC 4918, Раздел 11.3 |
424 | FAILED_DEPENDENCY | WebDAV RFC 4918, Раздел 11.4 |
426 | UPGRADE_REQUIRED | HTTP/1.1 RFC 7231, Раздел 6.5.15 |
428 | PRECONDITION_REQUIRED | Дополнительные коды состояния HTTP RFC 6585 |
429 | TOO_MANY_REQUESTS | Дополнительные коды состояния HTTP RFC 6585 |
431 | REQUEST_HEADER_FIELDS_TOO_LARGE | Дополнительные коды состояния HTTP RFC 6585 |
500 | INTERNAL_SERVER_ERROR | HTTP/1.1 RFC 7231, Раздел 6.6.1 |
501 | NOT_IMPLEMENTED | HTTP/1.1 RFC 7231, Раздел 6.6.2 |
502 | BAD_GATEWAY | HTTP/1.1 RFC 7231, Раздел 6.6.3 |
503 | SERVICE_UNAVAILABLE | HTTP/1.1 RFC 7231, Раздел 6.6.4 |
504 | GATEWAY_TIMEOUT | HTTP/1.1 RFC 7231, Раздел 6.6.5 |
505 | HTTP_VERSION_NOT_SUPPORTED | HTTP/1.1 RFC 7231, Раздел 6.6.6 |
506 | VARIANT_ALSO_NEGOTIATES | Прозрачное согласование контента в HTTP RFC 2295, Раздел 8.1 (Экспериментальный) |
507 | INSUFFICIENT_STORAGE | WebDAV RFC 4918, Раздел 11.5 |
508 | LOOP_DETECTED | Расширения связывания WebDAV RFC 5842, Раздел 7.2 (Экспериментальный) |
510 | NOT_EXTENDED | Фреймворк расширений HTTP RFC 2774, Раздел 7 (Экспериментальный) |
511 | NETWORK_AUTHENTICATION_REQUIRED | Дополнительные коды статуса HTTP RFC 6585, Раздел 6 |
Для сохранения обратной совместимости, значения перечисления также присутствуют в модуле http.client в виде констант. Название перечисления равно имени константы (например, http.HTTPStatus.OK также доступно как http.client.OK).
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.5/library/http.html