如何解决如何在python 3.8 http.server中添加对CGIRequestHandler的cookie支持?
我做了这样的事情:
from http.server import HTTPServer
from http.server import CGIHTTPRequestHandler
class MyRequestHandler(CGIHTTPRequestHandler):
def send_cookie_header(self):
cookie_value = 'user="admin"'
self.send_header("Set-Cookie",cookie_value)
def get_cookies(self):
received_cookie = self.headers.get("Set-Cookie")
print(received_cookies)
def end_headers(self):
self.send_cookie_header()
print("cookie set success")
CGIHTTPRequestHandler.end_headers(self)
def do_HEAD(self):
self.handle_request()
def do_GET(self):
self.handle_request()
def handle_request(self):
self.get_cookies()
self.send_head()
if __name__ == "__main__":
host = "127.0.0.1"
port = 8080
http_server = HTTPServer((server_name,server_port),MyRequestHandler)
print(f""" CGIServer started at {host}:{port}""")
try:
http_server.serve_forever()
except KeyboardInterrupt:
print("\n Quitting... \n")
据我所知,end_headers()
正在调用send_head()
。但是"cookie set success"
行没有被打印,所以我猜这个函数没有被调用。在firefox的“网络”标签中也没有可见的Cookie。
我在做什么错了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。