http --- mô-đun HTTP

Source code: Lib/http/__init__.py


http là gói tập hợp một số mô-đun để làm việc với Giao thức truyền siêu văn bản:

Mô-đun http cũng xác định các enum sau giúp bạn làm việc với mã liên quan đến http:

class http.HTTPStatus

Added in version 3.5.

Một lớp con của enum.IntEnum xác định một bộ mã trạng thái HTTP, cụm từ lý do và mô tả dài được viết bằng tiếng Anh.

Cách sử dụng:

>>> từ http nhập HTTPStatus
>>> HTTPSstatus.OK
HTTPSstatus.OK
>>> HTTPStatus.OK == 200
đúng
>>> HTTPStatus.OK.value
200
>>> HTTPStatus.OK.cụm từ
'Được'
>>> HTTPStatus.OK.description
'Yêu cầu đã được thực hiện, tài liệu sẽ theo sau'
>>> danh sách (HTTStatus)
[HTTStatus.CONTINUE, HTTPStatus.SWITCHING_PROTOCOLS, ...]

mã trạng thái HTTP

Được hỗ trợ, IANA-registered status codes có sẵn trong http.HTTPStatus là:

Tên liệt kê

Chi tiết

100

CONTINUE

HTTP Ngữ nghĩa RFC 9110, Phần 15.2.1

101

SWITCHING_PROTOCOLS

HTTP Ngữ nghĩa RFC 9110, Phần 15.2.2

102

PROCESSING

WebDAV RFC 2518, Phần 10.1

103

EARLY_HINTS

Mã trạng thái HTTP để chỉ ra gợi ý RFC 8297

200

OK

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.1

201

CREATED

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.2

202

ACCEPTED

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.3

203

NON_AUTHORITATIVE_INFORMATION

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.4

204

NO_CONTENT

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.5

205

RESET_CONTENT

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.6

206

PARTIAL_CONTENT

HTTP Ngữ nghĩa RFC 9110, Phần 15.3.7

207

MULTI_STATUS

WebDAV RFC 4918, Phần 11.1

208

ALREADY_REPORTED

Tiện ích mở rộng liên kết WebDAV RFC 5842, Phần 7.1 (Thử nghiệm)

226

IM_USED

Mã hóa Delta trong HTTP RFC 3229, Phần 10.4.1

300

MULTIPLE_CHOICES

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.1

301

MOVED_PERMANENTLY

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.2

302

FOUND

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.3

303

SEE_OTHER

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.4

304

NOT_MODIFIED

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.5

305

USE_PROXY

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.6

307

TEMPORARY_REDIRECT

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.8

308

PERMANENT_REDIRECT

HTTP Ngữ nghĩa RFC 9110, Phần 15.4.9

400

BAD_REQUEST

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.1

401

UNAUTHORIZED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.2

402

PAYMENT_REQUIRED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.3

403

FORBIDDEN

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.4

404

NOT_FOUND

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.5

405

METHOD_NOT_ALLOWED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.6

406

NOT_ACCEPTABLE

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.7

407

PROXY_AUTHENTICATION_REQUIRED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.8

408

REQUEST_TIMEOUT

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.9

409

CONFLICT

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.10

410

GONE

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.11

411

LENGTH_REQUIRED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.12

412

PRECONDITION_FAILED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.13

413

CONTENT_TOO_LARGE

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.14

414

URI_TOO_LONG

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.15

415

UNSUPPORTED_MEDIA_TYPE

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.16

416

RANGE_NOT_SATISFIABLE

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.17

417

EXPECTATION_FAILED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.18

418

IM_A_TEAPOT

HTCPCP/1.0 RFC 2324, Mục 2.3.2

421

MISDIRECTED_REQUEST

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.20

422

UNPROCESSABLE_CONTENT

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.21

423

LOCKED

WebDAV RFC 4918, Phần 11.3

424

FAILED_DEPENDENCY

WebDAV RFC 4918, Phần 11.4

425

TOO_EARLY

Sử dụng dữ liệu ban đầu trong HTTP RFC 8470

426

UPGRADE_REQUIRED

HTTP Ngữ nghĩa RFC 9110, Phần 15.5.22

428

PRECONDITION_REQUIRED

Mã trạng thái HTTP bổ sung RFC 6585

429

TOO_MANY_REQUESTS

Mã trạng thái HTTP bổ sung RFC 6585

431

REQUEST_HEADER_FIELDS_TOO_LARGE

Mã trạng thái HTTP bổ sung RFC 6585

451

UNAVAILABLE_FOR_LEGAL_REASONS

Mã trạng thái HTTP để báo cáo trở ngại pháp lý RFC 7725

500

INTERNAL_SERVER_ERROR

HTTP Ngữ nghĩa RFC 9110, Phần 15.6.1

501

NOT_IMPLEMENTED

HTTP Ngữ nghĩa RFC 9110, Phần 15.6.2

502

BAD_GATEWAY

HTTP Ngữ nghĩa RFC 9110, Phần 15.6.3

503

SERVICE_UNAVAILABLE

HTTP Ngữ nghĩa RFC 9110, Phần 15.6.4

504

GATEWAY_TIMEOUT

HTTP Ngữ nghĩa RFC 9110, Phần 15.6.5

505

HTTP_VERSION_NOT_SUPPORTED

HTTP Ngữ nghĩa RFC 9110, Phần 15.6.6

506

VARIANT_ALSO_NEGOTIATES

Đàm phán nội dung minh bạch trong HTTP RFC 2295, Mục 8.1 (Thử nghiệm)

507

INSUFFICIENT_STORAGE

WebDAV RFC 4918, Phần 11.5

508

LOOP_DETECTED

Tiện ích mở rộng liên kết WebDAV RFC 5842, Phần 7.2 (Thử nghiệm)

510

NOT_EXTENDED

Khung mở rộng HTTP RFC 2774, Phần 7 (Thử nghiệm)

511

NETWORK_AUTHENTICATION_REQUIRED

Mã trạng thái HTTP bổ sung RFC 6585, Phần 6

Để duy trì khả năng tương thích ngược, các giá trị enum cũng có trong mô-đun http.client ở dạng hằng số. Tên enum bằng với tên hằng số (tức là http.HTTPStatus.OK cũng có sẵn dưới dạng http.client.OK).

Thay đổi trong phiên bản 3.7: Đã thêm mã trạng thái 421 MISDIRECTED_REQUEST.

Added in version 3.8: Đã thêm mã trạng thái 451 UNAVAILABLE_FOR_LEGAL_REASONS.

Added in version 3.9: Đã thêm mã trạng thái 103 EARLY_HINTS, 418 IM_A_TEAPOT425 TOO_EARLY.

Thay đổi trong phiên bản 3.13: Đã triển khai đặt tên RFC9110 cho các hằng số trạng thái. Các tên hằng số cũ được giữ nguyên để tương thích ngược: 413 REQUEST_ENTITY_TOO_LARGE, 414 REQUEST_URI_TOO_LONG, 416 REQUESTED_RANGE_NOT_SATISFIABLE422 UNPROCESSABLE_ENTITY.

danh mục trạng thái HTTP

Added in version 3.12.

Các giá trị enum có một số thuộc tính để biểu thị danh mục trạng thái HTTP:

Tài sản

Chỉ ra rằng

Chi tiết

is_informational

100 <= status <= 199

HTTP Ngữ nghĩa RFC 9110, Phần 15

is_success

200 <= status <= 299

HTTP Ngữ nghĩa RFC 9110, Phần 15

is_redirection

300 <= status <= 399

HTTP Ngữ nghĩa RFC 9110, Phần 15

is_client_error

400 <= status <= 499

HTTP Ngữ nghĩa RFC 9110, Phần 15

is_server_error

500 <= status <= 599

HTTP Ngữ nghĩa RFC 9110, Phần 15

Cách sử dụng:

>>> từ http nhập HTTPStatus
>>> HTTPStatus.OK.is_success
đúng
>>> HTTPStatus.OK.is_client_error
sai
class http.HTTPMethod

Added in version 3.11.

Một lớp con của enum.StrEnum xác định một tập hợp các phương thức và mô tả HTTP được viết bằng tiếng Anh.

Cách sử dụng:

>>> từ http nhập HTTPMethod
>>>
>>> HTTPMethod.GET
<HTTPMethod.GET>
>>> HTTPMethod.GET == 'GET'
đúng
>>> HTTPMethod.GET.value
'GET'
>>> HTTPMethod.GET.description
'Lấy lại mục tiêu.'
>>> danh sách (HTTPMethod)
[<HTTPMethod.CONNECT>,
 <HTTPMethod.DELETE>,
 <HTTPMethod.GET>,
 <HTTPMethod.HEAD>,
 <HTTPMethod.OPTIONS>,
 <HTTPMethod.PATCH>,
 <HTTPMethod.POST>,
 <HTTPMethod.PUT>,
 <HTTPMethod.TRACE>]

phương pháp HTTP

Được hỗ trợ, IANA-registered methods có sẵn trong http.HTTPMethod là:

phương pháp

Tên liệt kê

Chi tiết

GET

GET

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.1

HEAD

HEAD

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.2

POST

POST

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.3

PUT

PUT

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.4

DELETE

DELETE

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.5

CONNECT

CONNECT

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.6

OPTIONS

OPTIONS

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.7

TRACE

TRACE

HTTP Ngữ nghĩa RFC 9110, Phần 9.3.8

PATCH

PATCH

HTTP/1.1 RFC 5789