– HTTP模块 – Internet协议和支持(Python教程)(参考资料)
http
– HTTP模块
源代码: Lib / http / __ init__.py
http
是一个包,它收集了几个用于处理远程文本传输协议的模块:
http.client
是一个低级HTTP协议客户端;用于高级URL打开使用urllib.request
http.server
包含基于socketserver
http.cookies
有实用程序用cookie实现状态管理http.cookiejar
提供持久的cookie
http
也是一个模块,通过http.HTTPStatus
枚举:
- class
http.
HTTPStatus
-
版本3.5中的新功能
的子类
enum.IntEnum
定义了一组HTTP状态代码,原因短语和用英语写的长描述.使用
>>> from http import HTTPStatus>>> HTTPStatus.OK<HTTPStatus.OK: 200>>>> HTTPStatus.OK == 200True>>> http.HTTPStatus.OK.value200>>> HTTPStatus.OK.phrase"OK">>> HTTPStatus.OK.description"Request fulfilled, document follows">>> list(HTTPStatus)[<HTTPStatus.CONTINUE: 100>, <HTTPStatus.SWITCHING_PROTOCOLS: 101>, ...]
HTTP状态代码
支持,IANA注册的状态代码可用于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节 |
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 RFC7233 ,第4.1节 |
207 |
MULTI_STATUS |
WebDAV RFC 4918 ,第11.1节 |
208 |
ALREADY_REPORTED |
WebDAV绑定扩展 RFC5842 ,第7.1节(实验) |
226 |
IM_USED |
用HTTP编码Delta RFC 3229 ,第10.4.1节 |
300 |
MULTIPLE_CHOICES |
HTTP /1.1 RFC 7231 ,第6.4.1节 |
301 |
MOVED_PERMANENTLY |
HTTP / 1.1 RFC 7231 ,第6.4.2节 |
302 |
FOUND |
HTTP/1.1 RFC 7231 ,第6.4.3节 |
303 |
SEE_OTHER |
HTTP / 1.1 RFC 7231 ,第6.4.4节 |
304 |
NOT_MODIFIED |
HTTP / 1.1 RFC 7232 ,第4.1节 |
305 |
USE_PROXY |
HTTP / 1.1 RFC 7231 ,第6.4.5节 |
307 |
TEMPORARY_REDIRECT |
HTTP / 1.1 RFC 7231 ,第6.4.7节 |
308 |
PERMANENT_REDIRECT |
永久重定向RFC 7238 ,第3节(实验性) |
400 |
BAD_REQUEST |
HTTP / 1.1 RFC 7231 ,第6.5.1节 |
401 |
UNAUTHORIZED |
HTTP /1.1认证 RFC 7235 ,第3.1节 |
402 |
PAYMENT_REQUIRED |
HTTP / 1.1 RFC 7231 ,第6.5.2节 |
403 |
FORBIDDEN |
HTTP / 1.1 RFC 7231 ,第6.5.3节 |
404 |
NOT_FOUND |
HTTP / 1.1 RFC 7231 ,第6.5.4节 |
405 |
METHOD_NOT_ALLOWED |
HTTP / 1.1 RFC 7231 ,第6.5.5节 |
406 |
NOT_ACCEPTABLE |
HTTP / 1.1 RFC 7231 ,第6.5.6节 |
407 |
PROXY_AUTHENTICATION_REQUIRED |
HTTP/1.1认证 RFC 7235 ,第3.2节 |
408 |
REQUEST_TIMEOUT |
HTTP / 1.1 RFC 7231 ,第6.5.7节 |
409 |
CONFLICT |
HTTP/1.1 RFC 7231 ,第6.5.8节 |
410 |
GONE |
HTTP / 1.1 RFC 7231 ,第6.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节 |
421 |
MISDIRECTED_REQUEST |
HTTP / 2 RFC 7540 ,第9.1.2节 |
422 |
UNPROCESSABLE_ENTITY |
WebDAV RFC 4918 ,第11.2节 |
423 |
LOCKED |
WebDAV RFC 4918 ,第11.3节 |
424 |
FAILED_DEPENDENCY |
WebDAV RFC 4918 ,第11.4节 |
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 |
500 |
INTERNAL_SERVER_ERROR |
HTTP/1.1 RFC 7231 ,第6.6.1节 |
501 |
NOT_IMPLEMENTED |
HTTP / 1.1 RFC 7231 ,第6.6.2节 |
502 |
BAD_GATEWAY |
HTTP/1.1 RFC 7231 ,6.6.3节 |
503 |
SERVICE_UNAVAILABLE |
HTTP / 1.1 RFC 7231 ,第6.6.4节 |
504 |
GATEWAY_TIMEOUT |
HTTP / 1.1 RFC 7231 ,第6.6.5节 |
505 |
HTTP_VERSION_NOT_SUPPORTED |
HTTP / 1.1 RFC 7231,第6.6.6节 |
506 |
VARIANT_ALSO_NEGOTIATES |
HTTP中的透明内容协商 RFC 2295 ,第8.1节(实验) |
507 |
INSUFFICIENT_STORAGE |
WebDAV 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
状态代码