如何使用Ngrok線上執行Python Flask應用?


Ngrok是一個用於在本地機器和網際網路之間建立安全隧道的工具。它用於測試Web應用程式,並允許開發者將他們的本地Web伺服器暴露給網際網路,而無需將其部署到遠端伺服器。Python Flask允許您在本地建立Web應用程式,但我們可能希望透過線上執行來向全世界展示它。在本文中,我們將使用Ngrok工具線上執行Web應用程式,而無需將其託管在任何伺服器上。

使用Ngrok線上執行Python Flask應用程式的步驟如下:

步驟1:安裝Ngrok

第一步是在本地系統中下載Ngrok。您可以從其官方網站(https://ngrok.com/download)下載Ngrok。您可以為所需的系統(Windows/macOS/Linux)下載它。下載所需系統後,只需將存檔內容解壓縮到您選擇的資料夾中。

步驟2:建立Flask應用程式

安裝Ngrok工具後,我們需要建立一個Flask應用程式,我們將使用它來執行Ngrok。建立一個新的Python檔案**`app.py`**,並編寫如下所示的程式碼,以建立一個Flask應用程式,該應用程式只有一個路由,當訪問根URL時返回字串“Hello World!”。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
   return 'Hello, World!'

if __name__ == '__main__':
   app.run(port=5000)

步驟3:執行Flask應用程式

建立Flask應用程式後,我們需要在本地執行Flask應用程式,並檢查應用程式是否正常工作。要在本地執行Flask應用程式,只需在終端或命令提示符中執行以下命令。

Python app.py

要檢查應用程式是否正常工作,您可以在瀏覽器中訪問`https://:5000`,檢視應用程式返回的值。

步驟4:執行Ngrok

要執行Ngrok,請開啟一個新的終端視窗,並導航到您解壓縮Ngrok存檔的資料夾。然後執行以下命令:

./ngrok http 5000

此命令將啟動Ngrok,並在您的本地機器和網際網路之間建立一個安全隧道。Ngrok將顯示一個URL,您可以使用該URL從世界任何地方訪問您的Flask應用程式。

步驟5:線上訪問您的Flask應用程式

Ngrok執行後,您可以透過訪問Ngrok提供的URL從任何地方訪問您的Flask應用程式。例如,如果Ngrok顯示URL

**https://c7d99d3c.ngrok.io,**您可以透過在Web瀏覽器中訪問**https://c7d99d3c.ngrok.io/**來訪問您的Flask應用程式。

使用Ngrok執行Python Flask應用程式的用途

使用Ngrok執行Python Flask應用程式在各種場景中具有廣泛的應用。一些例子包括:

  • **測試** - 當開發者正在開發Flask應用程式時,他們可能希望在不同的裝置上測試它,以確保它能夠正確且沒有任何問題地工作。使用Ngrok執行Flask應用程式允許開發者在不同的裝置(包括移動裝置)上測試他們的應用程式,而無需將應用程式部署到遠端伺服器。

  • **演示** - Flask是一個流行的用於構建Web應用程式的框架,有時開發者希望向客戶或利益相關者展示他們的工作成果。使用Ngrok執行Flask應用程式使得向其他人演示應用程式變得很容易,而無需將其部署到遠端伺服器。

  • **除錯** - 在開發Flask應用程式時,開發者可能會遇到在本地難以重現的錯誤或漏洞。使用Ngrok執行Flask應用程式允許開發者與其他開發者共享URL,他們可以遠端訪問應用程式並幫助除錯問題。

  • **原型設計** - Flask是一個靈活的框架,可用於開發不同型別的應用程式。使用Ngrok執行Flask應用程式允許開發者快速建立原型並測試新功能,而無需將應用程式部署到遠端伺服器。

  • **整合測試** - Flask應用程式通常與其他第三方服務(例如API)互動。使用Ngrok執行Flask應用程式允許開發者在實際場景中測試與第三方服務的整合。

結論

在本文中,我們討論了使用Ngrok線上執行Python Flask應用程式。使用Ngrok工具,我們可以向世界上的任何人展示我們的Flask應用程式,而無需將其託管在任何伺服器上。Ngrok只是將您的本地Web伺服器暴露給網際網路,這使其成為測試和向任何人展示的理想工具。

更新於:2023年7月11日

5000+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.