http
— HTTP-moduler¶
Källkod: Lib/http/__init__.py
http
är ett paket som samlar flera moduler för att arbeta med HyperText Transfer Protocol:
http.client
är en HTTP-protokollklient på låg nivå; för URL-öppning på hög nivå användsurllib.request
http.server
innehåller grundläggande HTTP-serverklasser baserade påsocketserver
http.cookies
har verktyg för att implementera tillståndshantering med cookieshttp.cookiejar
ger beständighet för cookies
Modulen http
definierar också följande enumer som hjälper dig att arbeta med http-relaterad kod:
- class http.HTTPStatus¶
Tillagd i version 3.5.
En underklass till
enum.IntEnum
som definierar en uppsättning HTTP-statuskoder, orsaksfraser och långa beskrivningar skrivna på engelska.Användning:
>>> 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, ...]
HTTP-statuskoder¶
Statuskoder som stöds, IANA-registrerade och som finns tillgängliga i http.HTTPStatus
är:
Kod |
Enum-namn |
Detaljer |
---|---|---|
|
|
HTTP Semantik RFC 9110, Avsnitt 15.2.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.2.2 |
|
|
WebDAV RFC 2518, Avsnitt 10.1 |
|
|
En HTTP-statuskod för att ange ledtrådar RFC 8297 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.2 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.3 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.4 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.5 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.6 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.3.7 |
|
|
WebDAV RFC 4918, Avsnitt 11.1 |
|
|
WebDAV Binding Extensions RFC 5842, Avsnitt 7.1 (Experimentell) |
|
|
Delta-kodning i HTTP RFC 3229, Avsnitt 10.4.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.2 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.3 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.4 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.5 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.6 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.8 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.4.9 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.2 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.3 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.4 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.5 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.6 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.7 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.8 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.9 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.10 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.11 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.12 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.13 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.14 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.15 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.16 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.17 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.18 |
|
|
HTCPCP/1.0 RFC 2324, Avsnitt 2.3.2 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.20 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.21 |
|
|
WebDAV RFC 4918, Avsnitt 11.3 |
|
|
WebDAV RFC 4918, Avsnitt 11.4 |
|
|
Användning av tidiga data i HTTP RFC 8470 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.5.22 |
|
|
Ytterligare HTTP-statuskoder RFC 6585 |
|
|
Ytterligare HTTP-statuskoder RFC 6585 |
|
|
Ytterligare HTTP-statuskoder RFC 6585 |
|
|
En HTTP-statuskod för att rapportera juridiska hinder RFC 7725 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.6.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.6.2 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.6.3 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.6.4 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.6.5 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15.6.6 |
|
|
Transparent innehållsförhandling i HTTP RFC 2295, Avsnitt 8.1 (Experimentell) |
|
|
WebDAV RFC 4918, Avsnitt 11.5 |
|
|
WebDAV Binding Extensions RFC 5842, Avsnitt 7.2 (Experimentell) |
|
|
En ram för HTTP-tillägg RFC 2774, Avsnitt 7 (Experimentell) |
|
|
Ytterligare HTTP-statuskoder RFC 6585, Avsnitt 6 |
För att bevara bakåtkompatibiliteten finns enum-värden också i modulen http.client
i form av konstanter. Namnet på enum är lika med namnet på konstanten (dvs. http.HTTPStatus.OK
finns också som http.client.OK
).
Ändrad i version 3.7: Statuskod 421 MISDIRECTED_REQUEST
tillagd.
Tillagd i version 3.8: Statuskod 451 UNAVAILABLE_FOR_LEGAL_REASONS
tillagd.
Tillagd i version 3.9: Lagt till statuskoderna 103 EARLY_HINTS
, 418 IM_A_TEAPOT
och 425 TOO_EARLY
.
Ändrad i version 3.13: Implementerat RFC9110-namn för statuskonstanter. Gamla namn på konstanter bevaras för bakåtkompatibilitet.
HTTP-statuskategori¶
Tillagd i version 3.12.
Enumvärdena har flera egenskaper för att ange HTTP-statuskategorin:
Egenskap |
Anger att |
Detaljer |
---|---|---|
|
|
HTTP Semantik RFC 9110, Avsnitt 15 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15 |
|
|
HTTP Semantik RFC 9110, Avsnitt 15 |
Användning:
>>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
- class http.HTTPMethod¶
Tillagd i version 3.11.
En underklass till
enum.StrEnum
som definierar en uppsättning HTTP-metoder och beskrivningar skrivna på engelska.Användning:
>>> 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>]
HTTP-metoder¶
Metoder som stöds, IANA-registrerade metoder tillgängliga i http.HTTPMethod
är:
Metod |
Enum-namn |
Detaljer |
---|---|---|
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.1 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.2 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.3 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.4 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.5 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.6 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.7 |
|
|
HTTP Semantik RFC 9110, Avsnitt 9.3.8 |
|
|
HTTP/1.1 RFC 5789 |