zoukankan      html  css  js  c++  java
  • 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()

    运行后,打开浏览器

  • 相关阅读:
    Git 总结
    .net报错大全
    对于堆和栈的理解
    html 局部打印
    c#面试问题总结
    算法题总结
    h5-plus.webview
    堆和栈,引用类型,值类型,指令,指针
    .NET framework具体解释
    前端之间的url 传值
  • 原文地址:https://www.cnblogs.com/sea-stream/p/12163746.html
Copyright © 2011-2022 走看看