python搭建web server



假設你急需一個簡單的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 下工作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM