http — módulos HTTP¶
Código-fonte: Lib/http/__init__.py
http is a package that collects several modules for working with the
HyperText Transfer Protocol:
http.clienté um cliente de protocolo HTTP de baixo nível; para abertura de URL de alto nível, useurllib.requesthttp.servercontém classes básicas de servidor HTTP baseadas emsocketserverhttp.cookiestem utilidades para implementar gerenciamento de estado com cookieshttp.cookiejarprovê persistência de cookies
The http module also defines the following enums that help you work with http related code:
- class http.HTTPStatus¶
Adicionado na versão 3.5.
Subclasse de
enum.IntEnumque define um conjunto de códigos de status HTTP, frases de razão e descrições longas escritas em inglês.Uso:
>>> from http import HTTPStatus >>> HTTPStatus.OK HTTPStatus.OK >>> HTTPStatus.OK == 200 True >>> HTTPStatus.OK.value 200 >>> HTTPStatus.OK.phrase 'OK' >>> HTTPStatus.OK.description 'Request fulfilled, document follows' >>> list(HTTPStatus) [HTTPStatus.CONTINUE, HTTPStatus.SWITCHING_PROTOCOLS, ...]
códigos de status HTTP¶
Suportados, códigos de status registrados no IANA disponíveis em http.HTTPStatus são:
Código |
Nome da Enumeração |
Detalhes |
|---|---|---|
|
|
HTTP Semantics RFC 9110, seção 15.2.1 |
|
|
HTTP Semantics RFC 9110, seção 15.2.2 |
|
|
WebDAV RFC 2518, Seção 10.1 |
|
|
Um código de status HTTP para indicar dicas RFC 8297 |
|
|
HTTP Semantics RFC 9110, seção 15.3.1 |
|
|
HTTP Semantics RFC 9110, seção 15.3.2 |
|
|
HTTP Semantics RFC 9110, seção 15.3.3 |
|
|
HTTP Semantics RFC 9110, seção 15.3.4 |
|
|
HTTP Semantics RFC 9110, seção 15.3.5 |
|
|
HTTP Semantics RFC 9110, seção 15.3.6 |
|
|
HTTP Semantics RFC 9110, seção 15.3.7 |
|
|
WebDAV RFC 4918, Seção 11.1 |
|
|
Extensões Vinculadas WebDAV RFC 5842, Seção 7.1 (Experimental) |
|
|
Codificador Delta em HTTP RFC 3229, Seção 10.4.1 |
|
|
HTTP Semantics RFC 9110, seção 15.4.1 |
|
|
HTTP Semantics RFC 9110, seção 15.4.2 |
|
|
HTTP Semantics RFC 9110, seção 15.4.3 |
|
|
HTTP Semantics RFC 9110, seção 15.4.4 |
|
|
HTTP Semantics RFC 9110, seção 15.4.5 |
|
|
HTTP Semantics RFC 9110, seção 15.4.6 |
|
|
HTTP Semantics RFC 9110, seção 15.4.8 |
|
|
HTTP Semantics RFC 9110, seção 15.4.9 |
|
|
HTTP Semantics RFC 9110, seção 15.5.1 |
|
|
HTTP Semantics RFC 9110, seção 15.5.2 |
|
|
HTTP Semantics RFC 9110, seção 15.5.3 |
|
|
HTTP Semantics RFC 9110, seção 15.5.4 |
|
|
HTTP Semantics RFC 9110, seção 15.5.5 |
|
|
HTTP Semantics RFC 9110, seção 15.5.6 |
|
|
HTTP Semantics RFC 9110, seção 15.5.7 |
|
|
HTTP Semantics RFC 9110, seção 15.5.8 |
|
|
HTTP Semantics RFC 9110, seção 15.5.9 |
|
|
HTTP Semantics RFC 9110, seção 15.5.10 |
|
|
HTTP Semantics RFC 9110, seção 15.5.11 |
|
|
HTTP Semantics RFC 9110, seção 15.5.12 |
|
|
HTTP Semantics RFC 9110, seção 15.5.13 |
|
|
HTTP Semantics RFC 9110, seção 15.5.14 |
|
|
HTTP Semantics RFC 9110, seção 15.5.15 |
|
|
HTTP Semantics RFC 9110, seção 15.5.16 |
|
|
HTTP Semantics RFC 9110, seção 15.5.17 |
|
|
HTTP Semantics RFC 9110, seção 15.5.18 |
|
|
HTCPCP/1.0 RFC 2324, Seção 2.3.2 |
|
|
HTTP Semantics RFC 9110, seção 15.5.20 |
|
|
HTTP Semantics RFC 9110, seção 15.5.21 |
|
|
WebDAV RFC 4918, Seção 11.3 |
|
|
WebDAV RFC 4918, Seção 11.4 |
|
|
Usando dados antecipados em HTTP RFC 8470 |
|
|
HTTP Semantics RFC 9110, seção 15.5.22 |
|
|
Códigos de Status HTTP Adicionais RFC 6585 |
|
|
Códigos de Status HTTP Adicionais RFC 6585 |
|
|
Códigos de Status HTTP Adicionais RFC 6585 |
|
|
Um Código de Status HTTP para Relatar Obstáculos Legais RFC 7725 |
|
|
HTTP Semantics RFC 9110, seção 15.6.1 |
|
|
HTTP Semantics RFC 9110, seção 15.6.2 |
|
|
HTTP Semantics RFC 9110, seção 15.6.3 |
|
|
HTTP Semantics RFC 9110, seção 15.6.4 |
|
|
HTTP Semantics RFC 9110, seção 15.6.5 |
|
|
HTTP Semantics RFC 9110, seção 15.6.6 |
|
|
Negociação Transparente de Conteúdo em HTTP RFC 2295, Seção 8.1 (Experimental) |
|
|
WebDAV RFC 4918, Seção 11.5 |
|
|
Extensões de Ligação WebDAV RFC 5842, Seção 7.2 (Experimental) |
|
|
Um Framework de Extensão HTTP RFC 2774, Seção 7 (Experimental) |
|
|
Códigos de Status HTTP Adicionais RFC 6585, Seção 6 |
Para preservar compatibilidade anterior, valores de enumerações também estão presentes no módulo http.client na forma de constantes. O nome da enumeração é igual ao nome da constante (i.e. http.HTTPStatus.OK também está disponível como http.client.OK).
Alterado na versão 3.7: Código de status 421 MISDIRECTED_REQUEST adicionado.
Adicionado na versão 3.8: Código de status 451 UNAVAILABLE_FOR_LEGAL_REASONS adicionado.
Adicionado na versão 3.9: Adicionados os códigos de status 103 EARLY_HINTS, 418 IM_A_TEAPOT e 425 TOO_EARLY.
Alterado na versão 3.13: Implementada a nomenclatura do RFC9110 para constantes de status. Os nomes antigos das constantes foram preservados para compatibilidade com versões anteriores: 413 REQUEST_ENTITY_TOO_LARGE, 414 REQUEST_URI_TOO_LONG, 416 REQUESTED_RANGE_NOT_SATISFIABLE e 422 UNPROCESSABLE_ENTITY.
Categorias de HTTP status¶
Adicionado na versão 3.12.
Os valores enum possuem várias propriedades que indicam a categoria do status HTTP.
Propriedade |
Indica que |
Detalhes |
|---|---|---|
|
|
HTTP Semantics RFC 9110, seção 15 |
|
|
HTTP Semantics RFC 9110, seção 15 |
|
|
HTTP Semantics RFC 9110, seção 15 |
|
|
HTTP Semantics RFC 9110, seção 15 |
|
|
HTTP Semantics RFC 9110, seção 15 |
Uso:
>>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
- class http.HTTPMethod¶
Adicionado na versão 3.11.
Subclasse de
enum.StrEnumque define um conjunto de métodos HTTP e descrições escritas em inglês.Uso:
>>> from http import HTTPMethod >>> >>> HTTPMethod.GET <HTTPMethod.GET> >>> HTTPMethod.GET == 'GET' True >>> HTTPMethod.GET.value 'GET' >>> HTTPMethod.GET.description 'Retrieve the target.' >>> list(HTTPMethod) [<HTTPMethod.CONNECT>, <HTTPMethod.DELETE>, <HTTPMethod.GET>, <HTTPMethod.HEAD>, <HTTPMethod.OPTIONS>, <HTTPMethod.PATCH>, <HTTPMethod.POST>, <HTTPMethod.PUT>, <HTTPMethod.TRACE>]
Métodos HTTP¶
Suportados, métodos registrados no IANA disponíveis em http.HTTPMethod são:
Método |
Nome da Enumeração |
Detalhes |
|---|---|---|
|
|
HTTP Semantics RFC 9110, seção 9.3.1 |
|
|
HTTP Semantics RFC 9110, seção 9.3.2 |
|
|
HTTP Semantics RFC 9110, seção 9.3.3 |
|
|
HTTP Semantics RFC 9110, seção 9.3.4 |
|
|
HTTP Semantics RFC 9110, seção 9.3.5 |
|
|
HTTP Semantics RFC 9110, seção 9.3.6 |
|
|
HTTP Semantics RFC 9110, seção 9.3.7 |
|
|
HTTP Semantics RFC 9110, seção 9.3.8 |
|
|
HTTP/1.1 RFC 5789 |