用5行Python程式碼寫一個Web伺服器
阿新 • • 發佈:2022-05-16
用 Python 的 HTTPServer 和 CGIRequestHandler 所生成的物件,就可以建立一個Web 伺服器。
import os from http.server import HTTPServer, CGIHTTPRequest # 在當前目錄建立伺服器物件 os.chdir('.') #建立伺服器物件,監聽預設80埠 server_object = HTTPServer(server_addess('', 80), RequestHandlerClass=CGIHTTPRequestHandler) # 啟動伺服器 server_object.serve_forever()
程式碼第三行是確定伺服器建立的目錄,本文設定是當前目錄。第四行是利用HTTPServer 類建立伺服器物件,其中需要兩個引數,第一個是伺服器訪問的地址,空格是表示預設的 本地地址 //http:localhost,並使用預設埠80;第二個確定使用CGI作為RequestHandler的類。
程式碼第五行是啟動伺服器。That's it ! Pretty simple, Eh?
我的執行環境是MacOS,其它環境沒有測試過。需要注意的是要使用 sudo 許可權執行
sudo python pyserver.py Password:
輸入密碼後如果沒有反應屬於正常,如果出現錯誤資訊就需要debug。一切正常後,開啟瀏覽器,將顯示當前目錄下的內容
為了免除每次要輸入 sudo 的麻煩,可以再建立一個python 指令碼檔案,檔名是 startserver.py
import os os.sytem("sudo python pyserver.py")
注意一:這個伺服器切不可用於生產環境,只適合作為個人測試使用。
注意二:URL 是http 不是 https,而現在的瀏覽器預設都是後者。