http ---HTTP模块

源代码: Lib/http/__init__.py


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
>>> HTTPStatus.OK.value
200
>>> HTTPStatus.OK.phrase
'OK'
>>> HTTPStatus.OK.description
'Request fulfilled, document follows'
>>> list(HTTPStatus)
[<HTTPStatus.CONTINUE: 100>, <HTTPStatus.SWITCHING_PROTOCOLS: 101>, ...]

状态代码

支持, IANA-registered 状态代码在中可用 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

版本控制 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 第3.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

版本控制 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 第4.4.2节

302

FOUND

HTTP/1.1 RFC 7231 第6.4.3节

303

SEE_OTHER

HTTP/1.1 RFC 7231 第4.4.4节

304

NOT_MODIFIED

HTTP/1.1 RFC 7232 第4.1节

305

USE_PROXY

HTTP/1.1 RFC 7231 第4.4.5节

307

TEMPORARY_REDIRECT

HTTP/1.1 RFC 7231 第4.4.7节

308

PERMANENT_REDIRECT

永久重定向 RFC 7238 第3节(实验)

400

BAD_REQUEST

HTTP/1.1 RFC 7231 第5.5.1节

401

UNAUTHORIZED

HTTP/1.1身份验证 RFC 7235 第3.1节

402

PAYMENT_REQUIRED

HTTP/1.1 RFC 7231 第5.5.2节

403

FORBIDDEN

HTTP/1.1 RFC 7231 第5.5.3节

404

NOT_FOUND

HTTP/1.1 RFC 7231 第6.5.4节

405

METHOD_NOT_ALLOWED

HTTP/1.1 RFC 7231 第5.5.5节

406

NOT_ACCEPTABLE

HTTP/1.1 RFC 7231 第5.5.6节

407

PROXY_AUTHENTICATION_REQUIRED

HTTP/1.1身份验证 RFC 7235 第3.2节

408

REQUEST_TIMEOUT

HTTP/1.1 RFC 7231 第5.5.7节

409

CONFLICT

HTTP/1.1 RFC 7231 第5.5.8节

410

GONE

HTTP/1.1 RFC 7231 第5.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

REQUESTED_RANGE_NOT_SATISFIABLE

HTTP/1.1范围请求 RFC 7233 第4.4节

417

EXPECTATION_FAILED

HTTP/1.1 RFC 7231 第6.5.14节

418

IM_A_TEAPOT

HTCPCP/1.0 RFC 2324 ,第2.3.2节

421

MISDIRECTED_REQUEST

HTTP/2 RFC 7540 第9.1.2节

422

UNPROCESSABLE_ENTITY

版本控制 RFC 4918 第11.2节

423

LOCKED

版本控制 RFC 4918 第11.3节

424

FAILED_DEPENDENCY

版本控制 RFC 4918 第11.4节

425

TOO_EARLY

在HTTP中使用早期数据 RFC 8470

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

451

UNAVAILABLE_FOR_LEGAL_REASONS

报告法律障碍的HTTP状态代码 RFC 7725

500

INTERNAL_SERVER_ERROR

HTTP/1.1 RFC 7231 第6节

501

NOT_IMPLEMENTED

HTTP/1.1 RFC 7231 第6节第2节

502

BAD_GATEWAY

HTTP/1.1 RFC 7231 第6节第3节

503

SERVICE_UNAVAILABLE

HTTP/1.1 RFC 7231 第6节第4节

504

GATEWAY_TIMEOUT

HTTP/1.1 RFC 7231 第6节5节

505

HTTP_VERSION_NOT_SUPPORTED

HTTP/1.1 RFC 7231 第6节6节

506

VARIANT_ALSO_NEGOTIATES

HTTP中的透明内容协商 RFC 2295 第8.1节(实验)

507

INSUFFICIENT_STORAGE

版本控制 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

在 3.7 版更改: 补充 421 MISDIRECTED_REQUEST 状态代码。

3.8 新版功能: 补充 451 UNAVAILABLE_FOR_LEGAL_REASONS 状态代码。

3.9 新版功能: 补充 103 EARLY_HINTS418 IM_A_TEAPOT425 TOO_EARLY 状态代码。