python实现简单的http服务器

index.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Untitled Document</title>
</head>
<body scroll="no" class="hashover">
<h1>hello world!</h1>
</body>
</html>

server

import os
import mimetypes
from wsgiref import simple_server, util
import sys
def app(environ, respond):
    fn = os.path.join(path, environ['PATH_INFO'][1:]) 
    if '.' not in fn.split(os.path.sep)[-1]:
        fn = os.path.join(fn, 'index.html') 
    type = mimetypes.guess_type(fn)[0]
    if os.path.exists(fn):
        respond('200 OK', [('Content-Type', type)]) 
        return util.FileWrapper(open(fn, "rb"))
    else:
        respond('404 Not Found', [('Content-Type', 'text/plain')]) 
        return [b'not found']
if __name__ == '__main__':
    path = sys.argv[1] if len(sys.argv) > 1 else os.getcwd()
    port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000
    httpd = simple_server.make_server('', port, app)
    print("Serving {} on port {}, control-C to stop".format(path, port)) 
    try:
        httpd.serve_forever() 
    except KeyboardInterrupt:
        print("Shutting down.") 
    httpd.server_close()

运行后,打开浏览器

猜你喜欢

转载自www.cnblogs.com/sea-stream/p/12163746.html