flask request模塊

  

前言

在進行Flask開發中,前端須要發送不一樣的請求及各類帶參數的方式,好比GET方法在URL後面帶參數和POST在BODY帶參數,有時候又是POST的表單提交方式,這個時候就須要從request提取參數。這篇文章是總結如何使用requesthtml

關於request

在Flask的官方文檔中是這樣介紹request的:前端

對於 Web 應用,與客戶端發送給服務器的數據交互相當重要。在 Flask 中由全局的 request 對象來提供這些信息。python

從Flask模塊導入requestjson

from flask import request

request的屬性

下面是request可以使用的屬性,其中黑體是比較經常使用的。flask

  • form 
    一個從POST和PUT請求解析的 MultiDict(一鍵多值字典)。api

  • args 
    MultiDict,要操做 URL (如 ?key=value )中提交的參數可使用 args 屬性:服務器

searchword = request.args.get('key', '')
  • values 
    CombinedMultiDict,內容是formargs。 
    可使用values替代form和args。markdown

  • cookies 
    顧名思義,請求的cookies,類型是dict。cookie

  • stream 
    在可知的mimetype下,若是進來的表單數據沒法解碼,會沒有任何改動的保存到這個·stream·以供使用。不少時候,當請求的數據轉換爲string時,使用data是最好的方式。這個stream只返回數據一次。app

  • headers 
    請求頭,字典類型。

  • data 
    包含了請求的數據,並轉換爲字符串,除非是一個Flask沒法處理的mimetype。

  • files 
    MultiDict,帶有經過POST或PUT請求上傳的文件。

  • environ 
    WSGI隱含的環境配置。

  • method 
    請求方法,好比POST、GET。

  • path

  • script_root
  • url
  • base_url
  • url_root 
    若是用戶請求以下URL: 
    http://www.example.com/myapplication/page.html?x=y
    以上的參數內容以下:
名稱 內容
path /page.html
script_root /myapplication
base_url http://www.example.com/myapplication/page.html
url http://www.example.com/myapplication/page.html?x=y
url_root http://www.example.com/myapplication/
  • is_xhr 
    若是請求是一個來自JavaScript XMLHttpRequest的觸發,則返回True,這個只工做在支持X-Requested-With頭的庫而且設置了XMLHttpRequest

  • blurprint 
    藍本名字。

  • endpoint 
    endpoint匹配請求,這個與view_args相結合,但是用於重構相同或修改URL。當匹配的時候發生異常,會返回None。

  • get_json(force=False, silent=False, cache=True)

  • json 
    若是mimetypeapplication/json,這個參數將會解析JSON數據,若是不是則返回None。 
    可使用這個替代get_json()方法。

  • max_content_length 
    只讀,返回MAX_CONTENT_LENGTH的配置鍵。

  • module 
    若是請求是發送到一個實際的模塊,則該參數返回當前模塊的名稱。這是棄用的功能,使用blueprints替代。

  • on_json_loading_failed(e)
  • 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。

更多api例子參考:

https://www.programcreek.com/python/example/60711/flask.request.data

相關文章
相關標籤/搜索