基本流程:
1、需要的支持
1)python本身有SimpleHTTPServer
2)ForkStaticServer.py支持,该文件放在python7目录下
3)将希望共享的文件放在c盘下,如:C:游戏行业面试专用
2、打开cmd,cd c:\python27
3、cd C:游戏行业面试专用
4、c:\python27python -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 est
#c:\python27python -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中存在)