2020年12月23日 星期三

Python 3 內建的伺服器模組 http.server

週日雄太群組在鄉下家外燴, 與同學老張閒聊談到儀表板 (Dashboard) 技術, 一般常見的是使用 Excel 或 Tableau 等軟體, 但如果要在網站上使用, 使用 D3.js 可能較方便, 例如下面這本就是 :



Source : Amazon


此書的範例只需要放在靜態網頁伺服器即可, 因此作者推薦使用 Node.js 與 Python 3 內建的 http-server 模組即可, 如果電腦內本來就安裝了這兩種開發工具就不需要大費周章安裝 Apache 或 IIS 等伺服器了. 關於 http.server 模組參考 :


以 Python 3 為例, 只要在範例網頁所在的目錄以下列指令啟動 HTTP 伺服器即可 :

D:\test\html>python -m http.server 8080   
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
127.0.0.1 - - [23/Dec/2020 16:01:08] "GET / HTTP/1.1" 200 -

我在此目錄下已放置了一個名為 index.htm 的網頁 :

<!DOCTYPE html>
<html>
<head>
  <title>HTML 測試</title>
  <meta charset="utf-8">
</head>
<body>
  <h1>Home</h1>
</body>
</html>

然後在 Chrome 網址列輸入 http://localhost:8080, 卻出現如下畫面 :




我明明是輸入 http 但最終卻被強制改為 https, 然後抱怨無法提供安全連線, 傻眼. 爬文發現 Chrome 可能是安全性考量會強制改為 https, 底下這篇有說明解除之方法 :


但我覺得要改這個有點麻煩, 改用 Edge 就可以完成測試了 :



如果是 Python 2 則使用 SimpleHTTPServer 模組, 參考 :


沒有留言 :