赞
踩
设置cookie
是在Response
的对象上设置。
flask.Response
对象有一个set_cookie
方法,可以通过这个方法来设置cookie
信息。
以key
,value
形式设置信息。
在Chrome
浏览器中查看cookie
的方式:
方式1 借助于 开发调式工具进行查看
方式2 在Chrome
的设置界面->高级设置->内容设置->所有cookie
->找到当前域名下的cookie
。
方式1:
通过Response对象.delete_cookie
,指定cookie的key,就可以删除cookie了。
方式2:
在客户端浏览器人为的删除(清除浏览器浏览历史记录后,很多网站之前免密登录的都不好使了)
max_age
:以秒为单位,距离现在多少秒后cookie
会过期。
expires
:为datetime
类型。这个时间需要设置为格林尼治时间,相对北京时间来说 会自动+8小时
如果max_age
和expires
都设置了,那么这时候以max_age
为标准。
默认的过期时间
:如果没有显示的指定过期时间,那么这个cookie
将会在浏览器关闭后过期。
from flask import Flask,request,Response from datetime import datetime,timedelta app = Flask(__name__) @app.route('/createCookie/') def createCookie(): resp = Response("服务器端通过Response对象创建Cookie信息 并返回给客户端 并保存在客户端") #设置Cookie的有效期【存活时间】方式1 : #max_age=以秒为单位【距离现在多少秒后cookie会过期】 resp.set_cookie('uname',"wukong",max_age=1200) #设置Cookie的有效期【存活时间】方式2 : #expires= datetime类型。 #这个时间需要设置为格林尼治时间,相对北京时间来说 会自动+8小时 ex = datetime(year=2019, month=2, day=28, hour=0, minute=0, second=0) #如果要和北京时间相同,需要减去8个小时 ex = datetime(year=2019, month=2, day=27, hour=16, minute=0, second=0) resp.set_cookie('uname', "wukong", expires=ex) #如果max_age和expires都设置了,那么这时候以max_age为标准 ex2 =datetime.now() + timedelta(days=30,hours=16) resp.set_cookie('pwd',"123456",max_age=300,expires=ex2) return resp if __name__ == '__main__': app.run(debug=True)
cookie默认是只能在主域名下使用。
如果想要在子域名下使用,那么应该给set_cookie
传递一个参数domain='.wukong.com'
,这样其他子域名才能访问到这个cookie
信息。
windows中的host文件设置:
127.0.0.1 wukong
127.0.0.1 wukong.com
127.0.0.1 test01.wukong.com
127.0.0.1 localhost
from flask import Flask,Response,request from datetime import datetime,timedelta from cmsblueprint import bp app = Flask(__name__) app.register_blueprint(bp) app.config['SERVER_NAME'] = 'wukong.com:5000' @app.route('/createCookie/') def createCookie(): resp = Response("服务器端通过Response对象创建Cookie信息 并返回给客户端 并保存在客户端") #设置访问实时时间加上一个月 ex2 =datetime.now() + timedelta(days=30,hours=16) #给Cookie信息设置 存活时间 【有效域名---》子域名】 resp.set_cookie('uname', "wukong", expires=ex2,domain=".wukong.com") return resp if __name__ == '__main__': app.run(debug=True)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。