用python建立简单的web服务器

利用Python自带的包可以建立简单的web服务器。

  • 在DOS里cd到准备做服务器根目录的路径下,输入命令:
python -m Web服务器模块 [端口号,默认8000]

例如:

python -m SimpleHTTPServer 8080
  • 然后就可以在浏览器中输入

http://localhost:端口号/路径
来访问服务器资源。
例如:
http://localhost:8080/index.htm(当然index.htm文件得自己创建)
其他机器也可以通过服务器的IP地址来访问。

Web服务器模块,有如下三种:

  • BaseHTTPServer
    提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
  • SimpleHTTPServer
    包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
  • CGIHTTPServer
    包含处理POST请求和执行CGIHTTPRequestHandler类。

**

用python编写一个简单的web服务器,如下:

**

# coding=utf-8

"""
@version: ??
@author: AA-ldc
@file: myhttpd.py
@time: 2017/3/23 14:12
@function:编写一个简单的web服务器
"""
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer


class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        try:
            f = open(self.path[1:], 'r')
            self.send_response(200)
            self.send_header('Content-type', 'text/html')
            self.end_headers()
            self.wfile.write(f.read())
            f.close()
        except IOError:
            self.send_error(404, 'File Not Found:%s' % self.path)


def main():
    try:
        server = HTTPServer(('', 8088), MyHandler)
        print 'Welcome'
        server.serve_forever()
    except KeyboardInterrupt:
        server.socket.close()


if __name__ == '__main__':
    main()

然后启动服务器:

E:\study\python脚本\Python_Tool>python myhttpd.py
Welcome

启动完服务器,就可以在浏览器访问,例如:http://localhost:8088/index.html