## **请求信息**
`Request`对象支持获取当前的请求信息,包括:
| 方法 | 含义 |
| --- | --- |
| `form` | 一个从POST和PUT请求解析的 MultiDict|
| `args` | ?key=value提交URL参数 MultiDict |
| `values` | 内容是`form`和`args`,可以使用values替代它 |
| `cookies` | 请求的cookies,类型是dict |
| `stream` | 在可知的mimetype下,如果进来的表单数据无法解码,会没有任何改动的保存到这个 stream 以供使用。很多时候,当请求的数据转换为string时,使用`data`是最好的方式。这个stream只返回数据一次。 |
| `headers` | 请求头,字典类型 |
| `data` | 包含了请求的数据,并转换为字符串,除非是一个Flask无法处理的mimetype |
| `files` | MultiDict,带有通过POST或PUT请求上传的文件 |
| `environ` | WSGI隐含的环境配置 |
| `method` | 请求方法,比如POST、GET |
| `path` | 获取请求文件路径:/myapplication/page.html |
| `script_root` | 脚本路径|
| `base_url` | 获取域名与请求文件路径:http://www.baidu.com/myapplication/page.html|
| `url` | 获取全部url:http://www.baidu.com/myapplication/page.html?id=1&edit=edit|
| `url_root` | 获取域名:http://www.baidu.com/|
| `is_xhr` | 如果请求是一个来自`JavaScript XMLHttpRequest`的触发,则返回`True` 高版本已废除了|
| `blueprint` | 蓝图名字|
| `endpoint` | endpoint匹配请求,这个与`view_args`相结合,可是用于重构相同或修改URL。当匹配的时候发生异常,会返回None。|
| `json` | 如果`mimetype`是`application/json`,这个参数将会解析JSON数据,如果不是则返回None。可以使用这个替代get\_json()方法|
| `max_content_length` | 只读,返回`MAX_CONTENT_LENGTH`的配置键|
| `module` |如果请求是发送到一个实际的模块,则该参数返回当前模块的名称。这是弃用的功能,使用`blueprints`替代。|
| `routing_exception = None` |如果匹配URL失败,这个异常将会/已经抛出作为请求处理的一部分。这通常用于`NotFound`异常或类似的情况|
| `url_rule = None` |内部规则匹配请求的URL。这可用于在URL之前/之后检查方法是否允许(request.url_rule.methods) 等等。 默认情况下,在处理请求函数中写下print('request.url_rule.methods', request.url\_rule.methods) 会打印: request.url_rule.methods {‘GET’, ‘OPTIONS’, ‘HEAD’}|
| `view_args = None` |一个匹配请求的view参数的字典,当匹配的时候发生异常,会返回None。|
| `其他方法` |get_json(force=False, silent=False, cache=True) <br/> on_json_loading_failed(e)|