iT邦幫忙

0

用 Python 暢玩 Line bot - 03:ngrok

若是要讓 line bot 能夠運行,會需要輸入個 webhook 網址來接收資訊,而像是我們在剛學習,沒有一個固定 IP 可以使用。或是還在測試各項功能,需要做不斷地更改,想要即時的看到修正過後的結果,那我們可以考慮使用 ngrok ,來讓我們獲得一組網址使用。

ngrok 是一個 reverse proxy 的工具,透過將 local 的 port 對應到一個 public 的地址,讓外部可以透過該 public 地址連到 local 端,繼而取得或傳送資料。
ngrok 本身最大的優點是免費版就可以提供一個動態的地址,而他的缺點就是速度相對會比較慢,若是同時多人在連上該地址,很大機率會導致網站卡死,(此為做報告的時候的真實體驗)

ngrok 下載地址
ngrok 官網
免費版與付費版的功能差異

  1. 依照自己電腦的系統去下載對應的檔案,下載完後會得到一個壓縮檔,解壓縮完可以取得 ngrok 的執行檔,將執行檔放在方便使用的地方即可。
  2. 到 ngrok 註冊一個免費帳號
  3. 註冊完畢後會跳轉至 dsahboard,可以找到 token 去設定
  4. 使用的方式是先打開 cmd,cd到該執行檔所在的位置,輸入ngrok http port number就可以取得可以連線到 local server localhost:port number 的一組的網址

圖一、ngrok 運行畫面

將 ngrok 安裝完畢,確認可以正常使用後,我們就可以回到 Line developer,進入 channel之中,在 Message API 中找到 Webhook URL,點選 edit 即可將從 ngrok 取得的網址填入,要注意的是,在網址之後要加上/callback,對應前篇中的@app.route("/callback", methods=['POST'])

圖二、 Webhook URL


尚未有邦友留言

立即登入留言