Python內建的HTTP協議伺服器SimpleHTTPServer使用指南

來源:互聯網
上載者:User
首先確保裝了Python,我裝的是2.x版本,對了,我的作業系統是WIN7,其實對於Python來說,什麼作業系統並不重要。Python內建了一個簡單的HTTP伺服器,只需要在命令列下面敲一行命令,一個HTTP伺服器就起來了:

python -m SimpleHTTPServer 80

後面的80連接埠是可選的,不填會採用預設連接埠8000。注意,這會將當前所在的檔案夾設定為預設的Web目錄,試著在瀏覽器敲入本機地址:

http://localhost:80
如果當前檔案夾有index.html檔案,會預設顯示該檔案,否則,會以檔案清單的形式顯示目錄下所有檔案。這樣已經實現了最基本的檔案分享的目的,你可以做成一個指令碼,再建立一個捷徑,就可以很方便的開機檔案分享了。如果有更多需求,完全可以根據自己需要定製,具體的請參見官方文檔SimpleHTTPServer,或者直接看源碼。我拷貝一段,方便參考:

import SimpleHTTPServerimport SocketServerPORT = 8000Handler = SimpleHTTPServer.SimpleHTTPRequestHandlerhttpd = SocketServer.TCPServer(("", PORT), Handler)print "serving at port", PORThttpd.serve_forever()

如果你想改變連接埠號碼,你可以使用如下的命令:

python -m SimpleHTTPServer 8080 

如果你只想讓這個HTTP伺服器服務於本地環境,那麼,你需要定製一下你的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 下工作。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.