http
urllib.robotparser — robots.txt 剖析器
urllib.robotparser
源代码: Lib/http/__init__.py
http 是集合了几个操控 HTTP (超文本传输协议) 模块的包:
http.client 是低级 HTTP 协议客户端;对于高级 URL 打开使用 urllib.request
http.client
urllib.request
http.server 包含基本 HTTP 服务器类基于 socketserver
http.server
socketserver
http.cookies 是拥有管理 Cookie 实现状态的实用工具
http.cookies
http.cookiejar 提供 Cookie 的持久性
http.cookiejar
The http 模块还定义了下列帮助操控 HTTP 相关代码的枚举:
Added in version 3.5.
子类化的 enum.IntEnum that defines a set of HTTP status codes, reason phrases and long descriptions written in English.
enum.IntEnum
用法:
>>> 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, ...]
支持, IANA-registered status codes available in http.HTTPStatus 是:
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
103
EARLY_HINTS
HTTP 状态码用于指示提示 RFC 8297
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 , Section 6.4.1
301
MOVED_PERMANENTLY
HTTP/1.1 RFC 7231 , Section 6.4.2
302
FOUND
HTTP/1.1 RFC 7231 , Section 6.4.3
303
SEE_OTHER
HTTP/1.1 RFC 7231 , Section 6.4.4
304
NOT_MODIFIED
HTTP/1.1 RFC 7232 ,章节 4.1
305
USE_PROXY
HTTP/1.1 RFC 7231 , Section 6.4.5
307
TEMPORARY_REDIRECT
HTTP/1.1 RFC 7231 , Section 6.4.7
308
PERMANENT_REDIRECT
Permanent Redirect RFC 7238 , Section 3 (Experimental)
400
BAD_REQUEST
HTTP/1.1 RFC 7231 ,章节 6.5.1
401
UNAUTHORIZED
HTTP/1.1 Authentication RFC 7235 , Section 3.1
402
PAYMENT_REQUIRED
HTTP/1.1 RFC 7231 , Section 6.5.2
403
FORBIDDEN
HTTP/1.1 RFC 7231 , Section 6.5.3
404
NOT_FOUND
HTTP/1.1 RFC 7231 , Section 6.5.4
405
METHOD_NOT_ALLOWED
HTTP/1.1 RFC 7231 , Section 6.5.5
406
NOT_ACCEPTABLE
HTTP/1.1 RFC 7231 , Section 6.5.6
407
PROXY_AUTHENTICATION_REQUIRED
HTTP/1.1 Authentication RFC 7235 , Section 3.2
408
REQUEST_TIMEOUT
HTTP/1.1 RFC 7231 , Section 6.5.7
409
CONFLICT
HTTP/1.1 RFC 7231 , Section 6.5.8
410
GONE
HTTP/1.1 RFC 7231 , Section 6.5.9
411
LENGTH_REQUIRED
HTTP/1.1 RFC 7231 , Section 6.5.10
412
PRECONDITION_FAILED
HTTP/1.1 RFC 7232 , Section 4.2
413
REQUEST_ENTITY_TOO_LARGE
HTTP/1.1 RFC 7231 , Section 6.5.11
414
REQUEST_URI_TOO_LONG
HTTP/1.1 RFC 7231 , Section 6.5.12
415
UNSUPPORTED_MEDIA_TYPE
HTTP/1.1 RFC 7231 , Section 6.5.13
416
REQUESTED_RANGE_NOT_SATISFIABLE
HTTP/1.1 Range Requests RFC 7233 , Section 4.4
417
EXPECTATION_FAILED
HTTP/1.1 RFC 7231 , Section 6.5.14
418
IM_A_TEAPOT
HTCPCP/1.0 RFC 2324 , Section 2.3.2
421
MISDIRECTED_REQUEST
HTTP/2 RFC 7540 , Section 9.1.2
422
UNPROCESSABLE_ENTITY
WebDAV RFC 4918 , Section 11.2
423
LOCKED
WebDAV RFC 4918 , Section 11.3
424
FAILED_DEPENDENCY
WebDAV RFC 4918 , Section 11.4
425
TOO_EARLY
Using Early Data in HTTP RFC 8470
426
UPGRADE_REQUIRED
HTTP/1.1 RFC 7231 , Section 6.5.15
428
PRECONDITION_REQUIRED
Additional HTTP Status Codes RFC 6585
429
TOO_MANY_REQUESTS
431
REQUEST_HEADER_FIELDS_TOO_LARGE
451
UNAVAILABLE_FOR_LEGAL_REASONS
An HTTP Status Code to Report Legal Obstacles RFC 7725
500
INTERNAL_SERVER_ERROR
HTTP/1.1 RFC 7231 , Section 6.6.1
501
NOT_IMPLEMENTED
HTTP/1.1 RFC 7231 , Section 6.6.2
502
BAD_GATEWAY
HTTP/1.1 RFC 7231 , Section 6.6.3
503
SERVICE_UNAVAILABLE
HTTP/1.1 RFC 7231 , Section 6.6.4
504
GATEWAY_TIMEOUT
HTTP/1.1 RFC 7231 , Section 6.6.5
505
HTTP_VERSION_NOT_SUPPORTED
HTTP/1.1 RFC 7231 ,章节 6.6.6
506
VARIANT_ALSO_NEGOTIATES
Transparent Content Negotiation in HTTP RFC 2295 , Section 8.1 (Experimental)
507
INSUFFICIENT_STORAGE
WebDAV RFC 4918 , Section 11.5
508
LOOP_DETECTED
WebDAV 绑定扩展 RFC 5842 , Section 7.2 (Experimental)
510
NOT_EXTENDED
An HTTP Extension Framework RFC 2774 , Section 7 (Experimental)
511
NETWORK_AUTHENTICATION_REQUIRED
Additional HTTP Status Codes RFC 6585 ,章节 6
In order to preserve backwards compatibility, enum values are also present in the http.client module in the form of constants. The enum name is equal to the constant name (i.e. http.HTTPStatus.OK is also available as http.client.OK ).
http.HTTPStatus.OK
http.client.OK
3.7 版改变: 添加 421 MISDIRECTED_REQUEST 状态码。
421 MISDIRECTED_REQUEST
Added in version 3.8: 添加 451 UNAVAILABLE_FOR_LEGAL_REASONS 状态码。
451 UNAVAILABLE_FOR_LEGAL_REASONS
Added in version 3.9: 添加 103 EARLY_HINTS , 418 IM_A_TEAPOT and 425 TOO_EARLY 状态码。
103 EARLY_HINTS
418 IM_A_TEAPOT
425 TOO_EARLY
3.12 版添加。
The enum values have several properties to indicate the HTTP status category:
特性
指示
is_informational
100 <= status <= 199
HTTP/1.1 RFC 7231 ,章节 6
is_success
200 <= status <= 299
is_redirection
300 <= status <= 399
is_client_error
400 <= status <= 499
is_server_error
500 <= status <= 599
用法: >>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
>>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
Added in version 3.11.
子类化的 enum.StrEnum that defines a set of HTTP methods and descriptions written in English.
enum.StrEnum
>>> 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>]
支持, IANA-registered methods available in http.HTTPMethod 是:
http.HTTPMethod
方法
GET
HTTP/1.1 RFC 7231 ,章节 4.3.1
HEAD
HTTP/1.1 RFC 7231 , Section 4.3.2
POST
HTTP/1.1 RFC 7231 , Section 4.3.3
PUT
HTTP/1.1 RFC 7231 , Section 4.3.4
DELETE
HTTP/1.1 RFC 7231 , Section 4.3.5
CONNECT
HTTP/1.1 RFC 7231 , Section 4.3.6
OPTIONS
HTTP/1.1 RFC 7231 , Section 4.3.7
TRACE
HTTP/1.1 RFC 7231 , Section 4.3.8
PATCH
HTTP/1.1 RFC 5789
http.client — HTTP 协议客户端
键入搜索术语或模块、类、函数名称。