實(shí)現(xiàn)Python HTTP服務(wù)方法大總結(jié)
下面詳細(xì)介紹如何使用Python可以很快搭建一個(gè)HTTP服務(wù)器,實(shí)現(xiàn)一個(gè)微型的Python HTTP服務(wù)程序,想要知道什么是Python HTTP服務(wù)的實(shí)現(xiàn)方法,那么就請(qǐng)仔細(xì)看完本文吧。
如果你急需一個(gè)簡(jiǎn)單的Web Server,但你又不想去下載并安裝那些復(fù)雜的HTTP服務(wù)程序,比如:Apache,ISS等。那么, Python 可能幫助你。使用Python可以完成一個(gè)簡(jiǎn)單的內(nèi)建 HTTP 服務(wù)器。于是,你可以把你的目錄和文件都以HTTP的方式展示出來(lái)。佻只需要干一件事情,那就是安裝一個(gè)Python。
實(shí)際上來(lái)說(shuō),這是一個(gè)可以用來(lái)共享文件的非常有用的方式。實(shí)現(xiàn)一個(gè)微型的HTTP服務(wù)程序來(lái)說(shuō)是很簡(jiǎn)單的事情,在Python下,只需要一個(gè)命令行。下面是這個(gè)命令行:(假設(shè)我們需要共享我們的目錄 /home/haoel 而IP地址是192.168.1.1)。
這就行了,而我們的HTTP服務(wù)在8000號(hào)端口上偵聽(tīng)。你會(huì)得到下面的信息:
- $ cd /home/haoel $ python -m SimpleHTTPServer
你可以打開(kāi)你的瀏覽器(IE或Firefox),然后輸入下面的URL:
- http://192.168.1.1:8000
如果你的目錄下有一個(gè)叫 index.html 的文件名的文件,那么這個(gè)文件就會(huì)成為一個(gè)默認(rèn)頁(yè),如果沒(méi)有這個(gè)文件,那么,目錄列表就會(huì)顯示出來(lái)。如果你想改變端口號(hào),你可以使用如下的命令:
- $ python -m SimpleHTTPServer 8080
如果你只想讓這個(gè)HTTP服務(wù)器服務(wù)于本地環(huán)境,那么,你需要定制一下你的Python的程序,下面是一個(gè)示例:
- 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()
我們的Python HTTP服務(wù)這樣就完成了。注意:所有的這些東西都可以在 Windows 或 Cygwin 下工作。
【編輯推薦】