轉自:http://coolshell.cn/articles/1480.html
如果你急需一個簡單的Web Server,但你又不想去下載並安裝那些複雜的HTTP服務程序,比如:Apache,ISS等。那麼, Python 可能幫助你。使用Python可以完成一個簡單的內建 HTTP 服務器。於是,你可以把你的目錄和文件都以HTTP的方式展示出來。佻只需要幹一件事情,那就是安裝一個Python。
實際上來說,這是一個可以用來共享文件的非常有用的方式。實現一個微型的HTTP服務程序來說是很簡單的事情,在Python下,只需要一個命令行。下面是這個命令行:(假設我們需要共享我們的目錄 /home/haoel而IP地址是192.168.1.1)
1
2
|
$
cd
/home/haoel $ python -m SimpleHTTPServer |
這就行了,而我們的HTTP服務在8000號端口上偵聽。你會得到下面的信息:
Serving HTTP on 0.0.0.0 port 8000 ...
你可以打開你的瀏覽器(IE或Firefox),然後輸入下面的URL:
http://192.168.1.1:8000
如果你的目錄下有一個叫 index.html 的文件名的文件,那麼這個文件就會成爲一個默認頁,如果沒有這個文件,那麼,目錄列表就會顯示出來。
如果你想改變端口號,你可以使用如下的命令:
1
|
$ python -m SimpleHTTPServer 8080 |
如果你只想讓這個HTTP服務器服務於本地環境,那麼,你需要定製一下你的Python的程序,下面是一個示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import
sys import
BaseHTTPServer from
SimpleHTTPServer import
SimpleHTTPRequestHandler HandlerClass
=
SimpleHTTPRequestHandler ServerClass
=
BaseHTTPServer.HTTPServer Protocol
=
"HTTP/1.0" if
sys.argv[ 1 :]: port
=
int (sys.argv[ 1 ]) else : port
=
8000 server_address
=
( '127.0.0.1' , port) HandlerClass.protocol_version
=
Protocol httpd
=
ServerClass(server_address, HandlerClass) sa
=
httpd.socket.getsockname() print
"Serving HTTP on" , sa[ 0 ],
"port" , sa[ 1 ],
"..." httpd.serve_forever() |
注意:所有的這些東西都可以在 Windows 或 Cygwin 下工作