cherrypy.lib.httputil模块¶
HTTP库函数。
此模块包含用于构建HTTP应用程序框架的函数:任何一个,而不仅仅是名称以“ch”开头的函数。;)如果您引用了内部某个流行框架中的任何模块, this 模组,富曼竹会亲自用拇指把你挂起来,然后把你交给公众鞭打。
- class cherrypy.lib.httputil.AcceptElement(value, params=None)[源代码]¶
基类:
cherrypy.lib.httputil.HeaderElement
来自accept*头元素列表的元素(带参数)。
AcceptElement对象是可比较的;越首选的对象将“小于”越不首选的对象。因此,它们也可以排序;如果对AcceptElement对象列表进行排序,则它们将按优先级顺序列出;最优先的值将是第一个。是的,本来应该是相反的,但现在修好已经太迟了。
- property qvalue¶
该值的qvalue或priority。
- class cherrypy.lib.httputil.CaseInsensitiveDict(*args, **kargs)[源代码]¶
基类:
jaraco.collections.KeyTransformingDict
不区分大小写的dict子类。
每个键在进入标题大小写时都会更改。
- class cherrypy.lib.httputil.HeaderMap(*args, **kargs)[源代码]¶
基类:
cherrypy.lib.httputil.CaseInsensitiveDict
HTTP请求和响应头的dict子类。
每个键在条目中都更改为str(key).title()。这允许头不区分大小写并避免重复。
值是头值(根据 RFC 2047 如有必要)。
- encodings = ['ISO-8859-1']¶
- protocol = (1, 1)¶
- use_rfc_2047 = True¶
- class cherrypy.lib.httputil.Host(ip, port, name=None)[源代码]¶
基类:
object
互联网地址。
- 名称
应该是客户端的主机名。如果不可用(因为没有执行DNS查找),则应使用IP地址。
- ip = '0.0.0.0'¶
- name = 'unknown.tld'¶
- port = 80¶
- cherrypy.lib.httputil._parse_qs(qs, keep_blank_values=0, strict_parsing=0, encoding='utf-8')[源代码]¶
解析作为字符串参数给定的查询。
参数:
QS:要解析的URL编码查询字符串
- KEEP_BLACK_VALUES:指示空值是否为
URL编码的查询应被视为空字符串。TRUE值表示应将空白保留为空白字符串。默认的FALSE值表示要忽略空白值,并将其视为不包含空白值。
- STRICT_PARSING:指示如何处理解析错误的标志。如果
False(默认值),则会自动忽略错误。如果为true,则错误引发ValueError异常。
返回一个字典,正如G-d所希望的那样。
- cherrypy.lib.httputil.decode_TEXT(value)[源代码]¶
译码 RFC 2047 TEXT
>>> decode_TEXT("=?utf-8?q?f=C3=BCr?=") == b'f\xfcr'.decode('latin-1') True
- cherrypy.lib.httputil.get_ranges(headervalue, content_length)[源代码]¶
从范围标题返回(开始、停止)索引列表,或不返回。
每个(开始、停止)元组将由两个ints组成,这些ints适用于切片操作。也就是说,头“range:bytes=3-6”(如果对python字符串应用)正在请求资源 [3:7] .此函数将返回列表 [(3,7)] .
如果此函数返回空列表,则应返回HTTP 416。
- cherrypy.lib.httputil.parse_query_string(query_string, keep_blank_values=True, encoding='utf-8')[源代码]¶
从查询字符串生成参数字典。
提供的查询中的重复键/值对字符串将作为'键'返回: [价值1,价值2,…] }.单个键/值将作为字符串返回:键“:”值“”。
- cherrypy.lib.httputil.urljoin(*atoms)[源代码]¶
返回给定路径 * 原子,加入到一个URL中。
这将正确地将脚本名称和路径信息连接到原始URL中,即使其中一个Atom为空。
- cherrypy.lib.httputil.urljoin_bytes(*atoms)[源代码]¶
返回给定路径
*atoms
,加入一个URL。这将正确地将脚本名称和路径信息连接到原始URL中,即使其中一个Atom为空。
- cherrypy.lib.httputil.valid_status(status)[源代码]¶
返回合法的HTTP状态代码、原因短语和消息。
status arg必须是int、以int开头的str或从中开始的常量
http.client
STDLIB模块。如果状态没有提供原因短语,将提供默认原因短语。
>>> import http.client >>> from http.server import BaseHTTPRequestHandler >>> valid_status(http.client.ACCEPTED) == ( ... int(http.client.ACCEPTED), ... ) + BaseHTTPRequestHandler.responses[http.client.ACCEPTED] True