From 87cb1478b9530d5b35871d8b9bcfeca9ec97638d Mon Sep 17 00:00:00 2001 From: freelamb Date: Wed, 16 Mar 2022 17:08:12 +0800 Subject: [PATCH] bugfix: default encoding: ascii --- simple_http_server.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/simple_http_server.py b/simple_http_server.py index 37f3904..500e187 100644 --- a/simple_http_server.py +++ b/simple_http_server.py @@ -6,7 +6,7 @@ and HEAD requests in a fairly straightforward manner. """ -__version__ = "0.3.0" +__version__ = "0.3.1" __author__ = "freelamb@126.com" __all__ = ["SimpleHTTPRequestHandler"] @@ -32,6 +32,8 @@ from http.server import BaseHTTPRequestHandler else: # Python2 + reload(sys) + sys.setdefaultencoding('utf-8') from urllib import quote from urllib import unquote from BaseHTTPServer import HTTPServer @@ -205,8 +207,7 @@ def list_directory(self, path): if os.path.islink(fullname): display_name = name + "@" # Note: a link to a directory displays with @ and links with / - f.write(b'
  • %s\n' % - (quote(linkname).encode('utf-8'), escape(display_name).encode('utf-8'))) + f.write(b'
  • %s\n' % (quote(linkname).encode('utf-8'), escape(display_name).encode('utf-8'))) f.write(b"\n
    \n\n\n") length = f.tell() f.seek(0) @@ -289,6 +290,7 @@ def main(): httpd = HTTPServer(server_address, SimpleHTTPRequestHandler) server = httpd.socket.getsockname() print("server_version: " + SimpleHTTPRequestHandler.server_version + ", python_version: " + SimpleHTTPRequestHandler.sys_version) + print("sys encoding: " + sys.getdefaultencoding()) print("Serving http on: " + str(server[0]) + ", port: " + str(server[1]) + " ... (http://" + server[0] + ":" + str(server[1]) + "/)") httpd.serve_forever()