http
— HTTP modules¶
Código-fonte: Lib/http/__init__.py
http
é um pacote que coleta vários módulos para trabalhar com o Protocolo de Transferência de Hipertexto:
http.client
é um cliente de protocolo HTTP de baixo nível; para abertura de URL de alto nível, useurllib.request
http.server
contém classes básicas de servidor HTTP baseadas emsocketserver
http.cookies
tem utilidades para implementar gerenciamento de estado com cookieshttp.cookiejar
provê persistência de cookies
O módulo http
também define os seguintes enums que podem ajudar você a trabalhar com os status code http relacionados:
- class http.HTTPStatus¶
Adicionado na versão 3.5.
Subclasse de
enum.IntEnum
que 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¶
Supported,
IANA-registered status codes
available in http.HTTPStatus
are:
Código |
Nome da Enumeração |
Detalhes |
---|---|---|
|
|
HTTP Semantics RFC 9110, Section 15.2.1 |
|
|
HTTP Semantics RFC 9110, Section 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, Section 15.3.1 |
|
|
HTTP Semantics RFC 9110, Section 15.3.2 |
|
|
HTTP Semantics RFC 9110, Section 15.3.3 |
|
|
HTTP Semantics RFC 9110, Section 15.3.4 |
|
|
HTTP Semantics RFC 9110, Section 15.3.5 |
|
|
HTTP Semantics RFC 9110, Section 15.3.6 |
|
|
HTTP Semantics RFC 9110, Section 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, Section 15.4.1 |
|
|
HTTP Semantics RFC 9110, Section 15.4.2 |
|
|
HTTP Semantics RFC 9110, Section 15.4.3 |
|
|
HTTP Semantics RFC 9110, Section 15.4.4 |
|
|
HTTP Semantics RFC 9110, Section 15.4.5 |
|
|
HTTP Semantics RFC 9110, Section 15.4.6 |
|
|
HTTP Semantics RFC 9110, Section 15.4.8 |
|
|
HTTP Semantics RFC 9110, Section 15.4.9 |
|
|
HTTP Semantics RFC 9110, Section 15.5.1 |
|
|
HTTP Semantics RFC 9110, Section 15.5.2 |
|
|
HTTP Semantics RFC 9110, Section 15.5.3 |
|
|
HTTP Semantics RFC 9110, Section 15.5.4 |
|
|
HTTP Semantics RFC 9110, Section 15.5.5 |
|
|
HTTP Semantics RFC 9110, Section 15.5.6 |
|
|
HTTP Semantics RFC 9110, Section 15.5.7 |
|
|
HTTP Semantics RFC 9110, Section 15.5.8 |
|
|
HTTP Semantics RFC 9110, Section 15.5.9 |
|
|
HTTP Semantics RFC 9110, Section 15.5.10 |
|
|
HTTP Semantics RFC 9110, Section 15.5.11 |
|
|
HTTP Semantics RFC 9110, Section 15.5.12 |
|
|
HTTP Semantics RFC 9110, Section 15.5.13 |
|
|
HTTP Semantics RFC 9110, Section 15.5.14 |
|
|
HTTP Semantics RFC 9110, Section 15.5.15 |
|
|
HTTP Semantics RFC 9110, Section 15.5.16 |
|
|
HTTP Semantics RFC 9110, Section 15.5.17 |
|
|
HTTP Semantics RFC 9110, Section 15.5.18 |
|
|
HTCPCP/1.0 RFC 2324, Seção 2.3.2 |
|
|
HTTP Semantics RFC 9110, Section 15.5.20 |
|
|
HTTP Semantics RFC 9110, Section 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, Section 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, Section 15.6.1 |
|
|
HTTP Semantics RFC 9110, Section 15.6.2 |
|
|
HTTP Semantics RFC 9110, Section 15.6.3 |
|
|
HTTP Semantics RFC 9110, Section 15.6.4 |
|
|
HTTP Semantics RFC 9110, Section 15.6.5 |
|
|
HTTP Semantics RFC 9110, Section 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: Foi implementada a RFC9110 referente a nomeação de constantes de status. Nomes antigos de constantes foram preservados para manter a retrocompatibilidade.
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, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 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.
A subclass of
enum.StrEnum
that defines a set of HTTP methods and descriptions written in English.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¶
Supported,
IANA-registered methods
available in http.HTTPMethod
are:
Método |
Nome da Enumeração |
Detalhes |
---|---|---|
|
|
HTTP Semantics RFC 9110, Section 9.3.1 |
|
|
HTTP Semantics RFC 9110, Section 9.3.2 |
|
|
HTTP Semantics RFC 9110, Section 9.3.3 |
|
|
HTTP Semantics RFC 9110, Section 9.3.4 |
|
|
HTTP Semantics RFC 9110, Section 9.3.5 |
|
|
HTTP Semantics RFC 9110, Section 9.3.6 |
|
|
HTTP Semantics RFC 9110, Section 9.3.7 |
|
|
HTTP Semantics RFC 9110, Section 9.3.8 |
|
|
HTTP/1.1 RFC 5789 |