利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:
- python -m Web服务器模块 [端口号,默认8000]
例如:
- python -m SimpleHTTPServer 8080
创建成功以后,DOS界面会显示以下内容:
Serving HTTP on 0.0.0.0 port 8000 ...
Traceback (most recent call last):
File "C:\Program Files (x86)\Workpython\lib\runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Program Files (x86)\Workpython\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Program Files (x86)\Workpython\lib\SimpleHTTPServer.py", line 235, in <module>
test()
File "C:\Program Files (x86)\Workpython\lib\SimpleHTTPServer.py", line 231, in test
BaseHTTPServer.test(HandlerClass, ServerClass)
File "C:\Program Files (x86)\Workpython\lib\BaseHTTPServer.py", line 610, in test
httpd.serve_forever()
File "C:\Program Files (x86)\Workpython\lib\SocketServer.py", line 231, in serve_forever
poll_interval)
File "C:\Program Files (x86)\Workpython\lib\SocketServer.py", line 150, in _eintr_retry
return func(*args)
KeyboardInterrupt
第一行表示的是你所打开的窗口,
后面则显示当前文件夹当中的内容以及他们的位置。
有一点要注意,如果你关闭了DOS窗口,那么服务器便会关闭。
然后你可以在浏览器中输入
- http://localhost:端口号/路径
来访问服务器资源。
例如:
- http://localhost:8080/index.html
这里的“Web服务器模块”有如下三种:
- BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
- SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
- CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。
ps:
以上是在python 2的试验下成功的,实际应用中可能因为一些情况影响而有所不同,最近换了python 3,用python -m SimpleHTTPServer 8000又不行了。
如果是python 3的话,使用以下语句:
python -m http.server 8000
(8000是端口号,可不加,默认8000)