點擊python編程從入門到實踐,置頂 公衆號重磅 python入門資料,第一時間送達javascript
仍是牛java
讀完須要python
速讀僅需 2 分鐘編程
/ python 入門 Cookie 處理 /api
本篇是對高性能服務端框架 fastapi 請求部分的拾遺,主要會介紹 Cookie 。經過本部分的學習能夠對請求的信息作必定程度的預處理,想作深度的研究和自定製能夠持續關注,後續的篇章會從源碼的角度去分析,這裏簡單提一下個人思考邏輯:1.先會用 2.能知足業務需求 3.從本身感興趣的部分的源碼開始進行研究再結合本身生產環境出現的 bug 進行反查相關源碼進行深度學習瀏覽器
1微信
Cookie 操做cookie
1.1session
什麼是 Cookie閉包
本節先介紹一下 Cookie,若你對 Cookie 已經是很清楚了則可跳過直接看下一小結。
咱們先看一下百度百科給出的解釋:
Cookie 有時也用其複數形式 Cookies。類型爲「小型文本文件」,是某些網站爲了辨別用戶身份,進行 Session 跟蹤而儲存在用戶本地終端上的數據(一般通過加密),由用戶客戶端計算機暫時或永久保存的信息。
Cookie 是一個保存在客戶機中的簡單的文本文件, 這個文件與特定的 Web 文檔關聯在一塊兒, 保存了該客戶機訪問這個 Web 文檔時的信息, 當客戶機再次訪問這個 Web 文檔時這些信息可供該文檔使用。因爲「Cookie」具備能夠保存在客戶機上的神奇特性, 所以它能夠幫助咱們實現記錄用戶我的信息的功能, 而這一切都沒必要使用複雜的 CGI 等程序。
舉例來講, 一個 Web 站點可能會爲每個訪問者產生一個惟一的 ID, 而後以 Cookie 文件的形式保存在每一個用戶的機器上。若是使用瀏覽器訪問 Web, 會看到全部保存在硬盤上的 Cookie。在這個文件夾裏每個文件都是一個由「名/值」對組成的文本文件,另外還有一個文件保存有全部對應的 Web 站點的信息。在這裏的每一個 Cookie 文件都是一個簡單而又普通的文本文件。透過文件名, 就能夠看到是哪一個 Web 站點在機器上放置了 Cookie(固然站點信息在文件裏也有保存)。
一句話總結: Cookie 作身份識別功能。
1.2
fastapi 讀取 Cookie 信息
在 fastapi 中,咱們能夠利用 Cookie 模塊來聲明 cookies。Cookie 是 Query、Path 的姐妹類,它們都繼承自 Param 類。
from fastapi import Cookie, FastAPIapp = FastAPI()cookie_info: str = Cookie(None)@app.get("/get_cookie/")async def read_cookie_info(*, cookie_info: str = Cookie(None)): return {"cookie_info": cookie_info}
1.3
fastapi 返回 Cookie 信息
可在 Response 中返回 Cookie 信息給客戶端。
使用 Response 參數
能夠在路徑操做函數中聲明 Response 參數,而後給這個臨時的 Response 對象設置 cookie 信息。fastapi 經過這個臨時的 Response 對象解析出 cookie 信息,而後放入到最終返回的 Response 對象中。也能夠在依賴項中使用 Response 參數,而後設置 cookie 信息。
from fastapi import FastAPI, Responseapp = FastAPI()@app.get("/get_cookie/")def read_cookie_info(response: Response): response.set_cookie(key="session_info", value="xsxaxsafafa=fasfa=faafakfaslkfla;afsasfafafssda") return {"message": "add cookie"}
直接返回 Response
咱們也能夠在直接返回的 Response 對象中設置 cookie 信息。
from fastapi import FastAPIfrom fastapi.responses import JSONResponse
app = FastAPI()
@app.get("/get_cookie/")def read_cookie_info(): content = {"message": "add cookie"} response = JSONResponse(content=content) response.set_cookie(key="session_info", value="xsxaxsafafa=fasfa=faafakfaslkfla;afsasfafafssda") return response
2
總結
1.解釋了什麼是 Cookie
2.在 fastapi 中如何使用和設置 Cookie
原創不易,只願能幫助那些須要這些內容的同行或剛入行的小夥伴,你的每次 點贊、分享 都是我繼續創做下去的動力,我但願能在推廣 python 技術的道路上盡我一份力量,歡迎在評論區向我提問,我都會一一解答,記得一鍵三連支持一下哦!
加入python學習交流微信羣,請後臺回覆「入羣」
往期推薦
本文分享自微信公衆號 - python編程軍火庫(PythonCoder1024)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。