1. 程式人生 > >Python開發中的cookie 學習

Python開發中的cookie 學習

bootstrap fde 文件 分隔 連接 pla ref 技術 sub

cookie :是用戶保存在用戶瀏覽器端的一對鍵值對,是為了解決http的無狀態連接。服務端是可以把 cookie寫到用戶瀏覽器上,用戶每次發請求會攜帶cookie。
存放位置
每次發請求cookie是放在請求頭裏面的。
應用場景

  • 登陸用戶和密碼的記住密碼
  • 顯示每頁顯示的數據,以後都是按照設定的數目顯示
  • 投票機制

    案例用戶登錄

    創建用戶登錄的url

    url(r‘^login/‘, views.login),

    創建登錄頁面

    技術分享圖片
    代碼為:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陸頁面</title>
    <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css">
    <link rel="stylesheet" href="/static/jquery-3.2.1.min.js">
</head>
<body>
    <form action="/login/" method="post">
        <input type="text" name="username" placeholder="用戶名">
        <input type="text" name="password" placeholder="密碼">
        <input type="submit" value="提交">
    </form>

</body>
</html>

創建後臺函數方法

技術分享圖片
代碼為:

def login(request):
    if request.method == "GET":
        return render(request,‘houtaiguanli/login.html‘)
    else:
        user = request.POST.get(‘username‘)
        pwd = request.POST.get(‘password‘)
        if user == ‘ke‘ and pwd == ‘123‘:
            obj = redirect(‘/classes/‘)
            obj.set_cookie(‘ticket‘,‘dafadfafaf‘)
            return obj
        else:
            return render(request,‘houtaiguanli/login.html‘)

這裏設計登錄成功後可以正常訪問班級頁面即“classes”,所以要在班級方法那裏做個判斷。如果判斷為用戶已經登錄,則可以正常訪問。判斷用戶沒有正常登錄,則讓它跳轉到登錄頁面繼續登錄
技術分享圖片

這裏就是通過設置cookie,發送給用戶的瀏覽器。用瀏覽器在進行新的請求時攜帶著cookie來的。

set_cookies的語法
Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要設置cookie的值(name不能使用“;”和","號),有多個name值時用";"分隔例如:name1=name1; name2=name2;name3=name3。

expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS"
path=path: 設置cookie支持的路徑,如果path是一個路徑,則cookie對這個目錄下的所有文件及子目錄生效,例如:path="/cgi-bin/",如 果path是一個文件,則cookie指對這個文件生效,例如:path="/cgi-bin/cookie.cgi"。
domain=domain: 對cookie生效的域名,例如:domain="gzdzw.51.net"
secure: 如果給出此標誌,表示cookie只能通過SSL協議的https服務器來傳遞。
cookie的接收是通過設置環境變量HTTP_COOKIE來實現的,CGI程序可以通過檢索該變量獲取cookie信息。

cookie 也可以做加密的
添加salt
技術分享圖片
後臺拿去的時候解密

技術分享圖片

瀏覽器查看
技術分享圖片

Python開發中的cookie 學習