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

使用set_cookie()在Python中设置cookie

发布时间:2024-01-16 06:22:06

在Python中使用set_cookie()方法可以设置cookie。cookie是一种在客户端保存数据的方式。通过设置cookie,可以在客户端保存一些特定的信息,以便之后的访问中使用。

下面是一个使用set_cookie()设置cookie的示例代码:

from http import cookies
from http.server import BaseHTTPRequestHandler

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        # 创建一个cookie对象
        cookie = cookies.SimpleCookie()

        # 设置cookie的值
        cookie['name'] = 'John'
        cookie['age'] = '30'

        # 设置cookie的过期时间(可选)
        cookie['name']['expires'] = 3600  # cookie将在1小时后过期

        # 向响应头中添加Set-Cookie头部字段
        self.send_header('Set-Cookie', cookie.output(header=""))

        # 发送响应头
        self.send_response(200)
        self.end_headers()

        # 发送响应内容
        self.wfile.write(b'Cookie has been set')


if __name__ == '__main__':
    from http.server import HTTPServer

    server = HTTPServer(('localhost', 8080), MyHandler)
    print('Starting server, use <Ctrl-C> to stop')
    server.serve_forever()

在上面的代码中,我们创建了一个自定义的请求处理类MyHandler,并继承自BaseHTTPRequestHandler。在do_GET方法中,首先创建一个SimpleCookie对象,然后通过给cookie对象赋值的方式设置cookie的键和值。之后,我们还可以选择性地设置cookie的过期时间。最后,使用self.send_header('Set-Cookie', cookie.output(header=""))将cookie添加到响应头中,并使用self.send_response(200)发送响应状态码为200的响应头。接着,我们使用self.end_headers()发送空白行,然后使用self.wfile.write()发送响应内容。

要运行上述代码,可以在命令行中执行python 文件名.py命令,并在浏览器中访问localhost:8080。在浏览器中查看请求头中的响应头的Set-Cookie字段,即可看到设置的cookie信息。

通过使用set_cookie()方法,在Python中可以方便地设置cookie,并在之后的访问中使用这些信息进行一些特定的操作。