在Python HTTP服务器中发送"Set-Cookie"

Mat*_*ner 7 python cookies http

我如何发送"设置Cookie"有工作时头部BaseHTTPServerRequestHandlerCookieBaseCookie和子节点不提供输出要传入的值的方法send_header(),*Cookie.output()也不提供HTTP行分隔符.

Cookie我应该使用哪一堂课?两个人幸存下来到Python3,有什么区别?

vlk*_*vlk 6

这会为每个 cookie 发送一个 Set-Cookie 标头

    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-type", "text/html")

        cookie = http.cookies.SimpleCookie()
        cookie['a_cookie'] = "Cookie_Value"
        cookie['b_cookie'] = "Cookie_Value2"

        for morsel in cookie.values():
            self.send_header("Set-Cookie", morsel.OutputString())

        self.end_headers()
        ...
Run Code Online (Sandbox Code Playgroud)

  • 这个答案应该被接受。其他的不完整。 (2认同)

Tor*_*amo 3

用于C = http.cookie.SimpleCookie保存 cookie,然后C.output()为其创建标头。

示例在这里

请求处理程序有一个wfile属性,那就是套接字。

req_handler.send_response(200, 'OK')
req_handler.wfile.write(C.output()) # you may need to .encode() the C.output()
req_handler.end_headers()
#write body...
Run Code Online (Sandbox Code Playgroud)