session中的cookies設定及使用

2021-10-01 11:32:45 字數 2864 閱讀 1334

下面是用flask做的乙個服務端,用來設定cookie以及列印請求時的請求頭

# -*- coding: utf-8 -*-

from flask import flask, make_response, request

'/a1'

)defa1(

):print

(request.headers)

rp = make_response(

) rp.set_cookie(

'a1'

,'123'

)return rp

'/a2'

)defa2(

):print

(request.headers)

rp = make_response(

)# rp.set_cookie('a2', '234')

return rp

'/a3'

)defa3(

):print

(request.headers)

rp = make_response(

) rp.set_cookie(

'a3'

,'345'

)return rp

if __name__ ==

'__main__'

:'0.0.0.0'

)

# -*- coding: utf-8 -*-

import requests

url1 =

''url2 =

''url3 =

''cookies = requests.utils.cookiejar_from_dict(

)print

(type

(cookies)

, cookies)

# requestscookiejar 物件

s = requests.session(

)s.cookies = cookies # 這裡設定的cookie test=test 是所有請求中都會附帶的

s.headers =

# 這裡設定的請求頭h1=h1是所有請求中都會附帶的

r1 = s.get(url1, cookies=

,headers=

)# 臨時加上cookie r1=r1 和 header h2=h2 下乙個請求中不會有此 cookie 和header

r2 = s.get(url2)

requests.utils.add_dict_to_cookiejar(s.cookies,

)# 在接下來的請求中,永久新增xx cookie

r3 = s.get(url3)

# r1.cookies 是乙個requestscookiejar物件,可以使用 requests.utils.dict_from_cookiejar(r1.cookies) 將其轉換成dict

# 我發現可以直接用dict進行轉換,這樣寫起來更方便

print

(dict

(r1.cookies)

)# 列印r1請求的返回結果中設定的cookies

print

(dict

(r2.cookies)

)# 列印r2請求的返回結果中設定的cookies

print

(dict

(r3.cookies)

)# 列印r3請求的返回結果中設定的cookies

print

(dict

(s.cookies)

)# s.cookies中包含整個會話請求中的所有cookie(臨時新增的如上面的r1不包含在內)

先啟動服務端,再啟動客戶端

flask中cookie和session設定

在 中,http請求是無狀態的。也就是說即使第一次和伺服器連線後並且登入成功後,第二次請求伺服器依然不能知道當前請求是哪個使用者。cookie 的出現就是為了解決這個問題,第一次登入後伺服器返回一些資料 cookie 給瀏覽器,然後瀏覽器儲存在本地,當該使用者傳送第二次請求的時候,就會自動的把上次請...

flask中cookie和session介紹

在 中,http請求是無狀態的。也就是說即使第一次和伺服器連線後並且登入成功後,第二次請求伺服器依然不能知道當前請求是哪個使用者。cookie的出現就是為了解決這個問題,第一次登入後伺服器返回一些資料 cookie 給瀏覽器,然後瀏覽器儲存在本地,當該使用者傳送第二次請求的時候,就會自動的把上次請求...

php中 session和cookie的基本使用

1 cookie和session簡介與區別 在非常多時候,我們需要跟蹤瀏覽者在整個 的活動,對他們身份進行自動或半自動的識別 也就是平時常說的 登陸之類的功能 這時候,我們常採用cookie與 session來跟蹤和判斷。區別session資訊是存放在server端,但session id是存放在c...