如果因為某種需求急需一個web服務(wù)器玖雁,而又不至于去在httpd和nginx中配置一個新的虛擬主機孵延,Python或許可以幫上這個臨時的小需求。?使用Python可以完成一個簡單的內(nèi)建 HTTP 服務(wù)器廓潜。把需要共享的目錄或者文件都以HTTP的方式展示出來。
這是一個可以非常方便實用的帖汞,用來共享文件或者臨時測試的方式。實現(xiàn)一個微型的HTTP服務(wù)程序來說是很簡單的事情凑术,在Python下翩蘸,只需要一個命令行:
python -m SimpleHTTPServer
Python3 的模塊變了, Python3 的用法
python3 -m http.server 8000
這就行了麦萤,而python臨時的HTTP服務(wù)在其默認的8000號端口上偵聽鹿鳖。你會得到下面的信息:
Serving HTTP on 0.0.0.0 port 8000 ...
你可以打開你的瀏覽器,然后輸入下面的IP+端口:
http://IP:8000
如果你的目錄下有一個叫 index.html 的文件名的文件壮莹,那么這個文件就會成為一個默認頁翅帜,如果沒有這個文件,那么命满,目錄列表就會顯示出來涝滴。
如果8000端口被占用,你可以使用如下的命令:
python -m SimpleHTTPServer 9000
如果你只想讓這個HTTP服務(wù)器服務(wù)于本地環(huán)境胶台,那么歼疮,你需要定制一下你的Python的程序,下面是一個示例:
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?下工作诈唬。如果工作期間有需要共享文件韩脏,恰巧又在同一個局域網(wǎng),就不必在需要U盤了铸磅,而且速度還更快赡矢。
本文原創(chuàng)地址:https://www.linuxprobe.com/python-http.html