Request 和 Response 对象的属性中,有一些是元数据,有一些是解析后的数据,还有一些只是链接。
Request
method
起始行,元数据host
起始行,元数据path
起始行,元数据environ
其中的SERVER_PROTOCOL
是起始行,元数据headers
头,元数据data
body, 元数据remote_addr
客户端地址args
请求链接中的参数(GET 参数),解析后form
form 提交中的参数,解析后values
args 和 forms 的集合json
json 格式的 body 数据,解析后cookies
指向 Cookie 的链接
Request 对象对参数的分类很细,注意 args
, form
, valeus
, json
的区别。当然最保险也最原始的方式就是自己去解析 data
。
另一个需注意的地方是某些属性的类型,并不是 Python 标准的 dict
,而是 MultiDict 或者 CombinedMultiDict。这是为了应对 HTTP 协议中参数都是可重复的这点而做的设定。因此取值的时候要注意这些对象的特性,比如 .get()
和 .get_list()
方法返回的东西是不同的。
Response
status
状态码,元数据status_code
只包含 code 的 statusheaders
头,元数据mimetype
去掉 charset 的 content type,如application/json
data
body,元数据
时间: 2024-12-15 16:59:15