Python Falcon Cookies

Python Falcon Cookies

Cookie是以文本文件的形式存储在客户的计算机上。它的目的是记住并跟踪与客户使用情况有关的数据,以获得更好的访客体验和网站统计。

一个请求对象包含一个cookie的属性。它是一个包含所有cookie变量及其相应值的字典对象,一个客户端已经传送了。除此以外,cookie还存储其过期时间、网站的路径和域名。

在Falcon中,使用 set_cookie() 方法对响应对象进行cookie设置。

resp.set_cookie('cookiename', 'cookievalue')

此外,还可以给出参数 max_age of cookie in seconds和域名。

import falcon
import json
from waitress import serve
class resource1:
   def on_post(self, req, resp):
      resp.set_cookie("user", 'admin')
      resp.text = "cookie set successfully."
      resp.status = falcon.HTTP_OK
      resp.content_type = falcon.MEDIA_TEXT

在命令行中,调用response方法为:

http POST localhost:8000/cookie
HTTP/1.1 200 OK
Content-Length: 24
Content-Type: text/plain; charset=utf-8
Date: Tue, 26 Apr 2022 06:56:30 GMT
Server: waitress
Set-Cookie: user=admin; HttpOnly; Secure
cookie set successfully.

Cookie Set-cookie头也可以通过响应对象的 append_header() 方法设置。

为了检索cookie,请求对象有 request.cookies 属性以及 get_cookie_values() 方法。

def on_get(self, req, resp):
   cookies=req.cookies
   values = req.get_cookie_values('user')
   if values:
      v = values[0]
      resp.body={"user":v}
   resp.status = falcon.HTTP_OK
   resp.content_type = falcon.MEDIA_JSON

响应对象的 unset_cookie 方法清除了当前请求的cookie。

resp.unset_cookie('user')

对于ASGI应用程序, falcon.asgi.Request 实现了与 falcon.Request 相同的cookie方法和属性 ASGI版本的 set_cookie()append_header() 是同步的,所以它们不需要等待。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程