基于python2【重要】怎么自行搭建简单的web服务器

时间:2023-03-08 16:33:18
基本流程:
1、需要的支持
     1)python本身有SimpleHTTPServer
     2)ForkStaticServer.py支持,该文件放在python7目录下
     3)将希望共享的文件放在c盘下,如:C:\游戏行业面试专用
2、打开cmd,cd c:\\python27
3、cd C:\游戏行业面试专用
4、c:\\python27\python -m SimpleHTTPServer
5、在网页中输入http://192.168.1.101:8000/
6、已可成功的下载文件等资料 # -*- coding: utf-8 -*-
#python 27
#xiaodeng
#CGI模块
#怎么自行搭建简单的web服务器 #用途:
#内网中,提供文件的共享服务非常有用,在cmd下启动运行服务器命令之后,其他电脑也是可以通过url访问的
#可以实现pdf、zip等压缩文件、exe、apk等软件的下载服务. ###搭建基本流程##
#1、假定共享文件的目录为:/home/test,ip为#192.168.1.101
'''
怎么查看本机IP?
import socket
myname = socket.getfqdn(socket.gethostname())
myaddr = socket.gethostbyname(myname)
print myaddr
''' #2、在cmd下运行下面的命令即可:
#cd C:\home\test
#c:\\python27\python -m SimpleHTTPServer #3、打开浏览器,http://localhost:端口号/路径来访问服务器资源
#如:访问http://192.168.1.101:8000;内网其他机器也可以通过服务器的IP地址来访问
#端口号,默认8000
#默认上面所定义的目录下有index.html文件,该文件为默认页面;如果没有该文件,会将目录以列表形式逐级显示出来 #4、注意事项:
#内网中,文件传输非常方便,50MB/s不是梦。但是不支持并发,只能同事有一个同事进行下载,但是这里可以通过编写新的模块来达到支持并发的目的。
#http://www.wtoutiao.com/p/jffBpc.html #ForkStaticServer.py
import socket
import SocketServer
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler class ForkingHTTPServer(SocketServer.ForkingTCPServer):
allow_reuse_address = 1 def server_bind(self):
"""Override server_bind to store the server name."""
SocketServer.TCPServer.server_bind(self)
host, port = self.socket.getsockname()[:2]
self.server_name = socket.getfqdn(host)
self.server_port = port def test(HandlerClass=SimpleHTTPRequestHandler,ServerClass=ForkingHTTPServer):
BaseHTTPServer.test(HandlerClass, ServerClass) if __name__ == '__main__':
test() #将上述代码保存为文件ForkStaticServer.py,
#放到Python标准库的目录下(在我的电脑上是/usr/lib/python2.7/ForkStaticServer.py),以后用下面的命令代替前面所讲的命令, 这样搭建出来的静态文件服务器就是支持并发的! #自行搭建web服务器相关的库:
import BaseHTTPServer
import SimpleHTTPServer
import CGIHTTPServer
#import HTTPServer(python3中存在)