欢迎访问宙启技术站
智能推送

Bottle框架中设置响应头中的Cookie信息

发布时间:2023-12-16 17:10:55

在Bottle框架中,可以通过response.set_cookie()方法设置响应头中的Cookie信息。set_cookie()方法调用方式如下:

response.set_cookie(name, value='', secret=None, **kwargs)

- name: cookie的名称。

- value: cookie的值。

- secret: 用于加密的密钥。如果不提供密钥,则cookie不会被加密。

- kwargs: 其他参数。

使用例子如下:

from bottle import Bottle, response

app = Bottle()

@app.route('/set_cookie')
def set_cookie():
    response.set_cookie('username', 'alice', secret='mysecret')
    response.set_cookie('language', 'en')

    return 'Cookie has been set'

@app.route('/get_cookie')
def get_cookie():
    username = request.get_cookie('username', secret='mysecret')
    language = request.get_cookie('language')

    return f'Username: {username}, Language: {language}'

app.run(host='localhost', port=8080)

在上述例子中,首先定义了两个路由函数。set_cookie()函数用于设置Cookie信息,get_cookie()函数用于获取Cookie信息。

set_cookie()函数中,使用response.set_cookie()方法设置了两个Cookie:'username'和'language'。'username'的值为'alice',并传入了加密密钥'secret=mysecret'。而'language'的值则为'en'。这样设置后,这两个Cookie信息就会被加入到响应头中。

get_cookie()函数中,通过request.get_cookie()方法获取了'username'和'language'这两个Cookie信息。如果Cookie被加密了,需要提供相应密钥进行解密。然后将获取到的Cookie信息返回。

最后,通过app.run()方法运行Bottle应用,监听在本地主机的8080端口。

启动应用后,访问http://localhost:8080/set_cookie即可设置Cookie信息。然后访问http://localhost:8080/get_cookie获取Cookie信息。你将看到输出结果为:Username: alice, Language: en

这个例子展示了如何使用Bottle框架中的response.set_cookie()方法来设置响应头中的Cookie信息,并通过request.get_cookie()方法获取Cookie信息。