Flask 的 request 和 response 对象

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 的 status
  • headers 头,元数据
  • mimetype 去掉 charset 的 content type,如 application/json
  • data body,元数据

你可能感兴趣的:(Flask 的 request 和 response 对象)