代表Http请求。
所有的属性都是字符串型。
17.1 属性
(1) method:请求方法类型,比如”GET”、”POST”
(2) uri: 请求的uri
(3) path:请求路径,作为uri的一部分。
(4) query:查询字符串:作为uri的一部分。
(5) version:HTTP的版本,比如”HTTP/1.1”。
(6) headers:http 头部字典;
(7) body:请求的主体内容,为二进制字符串;
(8) remote_ip:客户端的ip地址。
(9) protocol:协议。或者是http,要么是https
(10) host:请求的主机名,通常来自于Host头部;
(11) arguments:请求参数字典,字典的key为字符串,字典的值为字节字符串。
(12) query_arguments:查询参数。跟arguments属性的值类型一致,但是这里只包含了查询参数;
(13) body_arguments:请求体参数。从请求主(body)中抽取出来;
(14) files:上传的文件列表。是一个HTTPFile类型的列表。
(15) connection:一个请求对应一个连接,多个请求可以被单个连接依次处理。
17.2 构造函数
定义:
def __init__(self, method=None, uri=None, version="HTTP/1.0", headers=None, body=None, host=None, files=None, connection=None, start_line=None):
参数:
method:方法,
uri:请求uri
version:HTTP版本,默认值为”HTPP/1.0”
headers:头部
host:主机地址
files:上传的文件
connection:连接
start_line:开始行
17.3 full_url
获得请求的完整路径
17.4 request_time
返回请求执行花费的时间。
17.5 _parse_bod_parse_body
根据Content-type、body、body_arguments、headers等字段的值解析body参数,并设置arguments属性值。这个很方法很重要。