1. 程式人生 > 其它 >用5行Python程式碼寫一個Web伺服器

用5行Python程式碼寫一個Web伺服器

用 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,而現在的瀏覽器預設都是後者。