基本流程:
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中存在)