## **請求信息**
`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)|