假設你急需一個簡單的Web Server,但你又不想去下載並安裝那些復雜的HTTP服務程序,比方:Apache,ISS等。那么, Python 可能幫助你。使用Python能夠完畢一個簡單的內建 HTTP server。於是,你能夠把你的文件夾和文件都以HTTP的方式展示出來。佻僅僅須要干一件事情,那就是安裝一個Python。
實際上來說,這是一個能夠用來共享文件的非常實用的方式。
實現一個微型的HTTP服務程序來說是非常easy的事情。在Python下,僅僅須要一個命令行。以下是這個命令行:(如果我們須要共享我們的文件夾 /home/haoel而IP地址是192.168.1.1)
1
2
|
$
cd
/home/haoel
$ python -m SimpleHTTPServer
|
這即可了,而我們的HTTP服務在8000號port上偵聽。你會得到以下的信息:
Serving HTTP on 0.0.0.0 port 8000 ...
你能夠打開你的瀏覽器(IE或Firefox)。然后輸入以下的URL:
http://192.168.1.1:8000
假設你的文件夾下有一個叫 index.html 的文件名稱的文件,那么這個文件就會成為一個默認頁。假設沒有這個文件,那么,文件夾列表就會顯示出來。
假設你想改變port號,你能夠使用例如以下的命令:
1
|
$ python -m SimpleHTTPServer 8080
|
假設你僅僅想讓這個HTTPserver服務於本地環境。那么,你須要定制一下你的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 下工作。