python3 web_cookie.py

"""
web_cookie.py
功能:通过 web.py 操作 cookie.
参考:http://webpy.org/cookbook/cookies.zh-cn
知识点:
1.
setcookie(name, value, expires="", domain=None, secure=False):
name (string) - Cookie的名称,由浏览器保存并发送至服务器。
value (string) -Cookie的值,与Cookie的名称相对应。
expires (int) - Cookie的过期时间,这是个可选参数,单位:秒。
它决定cookie有效时间是多久。它必须是一个整数,而绝不能是字符串。
domain (string) - Cookie的有效域-在该域内cookie才是有效的。
一般情况下,要在某站点内可用,该参数值该写做站点的域(比如.webpy.org),而不是站主的主机名(比如wiki.webpy.org)
secure (bool)- 如果为True,要求该Cookie只能通过HTTPS传输。
web.setcookie()的第三个参数-”expires”是一个可选参数,它用来设定cookie过期的时间。
如果是负数,cookie将立刻过期。如果是正数,就表示cookie的有效时间是多久,以秒为单位。
如果该参数为空,cookie就永不过期。
2.
获得Cookies
2.1
cookie = web.cookies().get('age')
print("cookie:", cookie)
# cookie: 25
如果找不到cookie,就返回None
3.
个人理解:
cookie 是由服务设置的,浏览器访问服务的时候提交给服务的,自带的(某框架实现的)。
cookie 过期会自动被清除,即,不能 get 到。
cookie 的保存是 根据有效域的,如上边所述(貌似域名 != ip:port)。

测试url:
1.设置 cookie.
http://127.0.0.1:8080/cookieSet
2.获取 cookie.
http://127.0.0.1:8080/cookieGet
"""
import web

urls = (
    "/cookieSet", "CookieSet",
    "/cookieGet", "CookieGet",
)


class CookieSet:
    def GET(self):
        i = web.input(age='25')
        # print("i:", i)
        # i: <Storage {'age': '25'}>
        # print("i.age:", i.age)
        # i.age: 25
        # print(type(i.age))
        # <class 'str'>
        web.setcookie('age', i.age, 60)
        return "Age set in your cookie."


class CookieGet:
    def GET(self):
        cookie = web.cookies().get('age')
        print("cookie:", cookie)
        # cookie: 25
        if cookie:
            return "cookie: " + cookie


if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值