若是要讓 line bot 能夠運行,會需要輸入個 webhook 網址來接收資訊,而像是我們在剛學習,沒有一個固定 IP 可以使用。或是還在測試各項功能,需要做不斷地更改,想要即時的看到修正過後的結果,那我們可以考慮使用 ngrok ,來讓我們獲得一組網址使用。
ngrok 是一個 reverse proxy 的工具,透過將 local 的 port 對應到一個 public 的地址,讓外部可以透過該 public 地址連到 local 端,繼而取得或傳送資料。
ngrok 本身最大的優點是免費版就可以提供一個動態的地址,而他的缺點就是速度相對會比較慢,若是同時多人在連上該地址,很大機率會導致網站卡死,(此為做報告的時候的真實體驗)
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
我打出 ngrok http 8888 結果回傳 -bash: ngrok: command not found
請問怎麼解決?
我有時候可以連到,但很常不能連到
可能是你在執行ngrok http 8888指令的時候,並不在ngrok.exe在的目錄喔
ngrok相關的指令都要在跟ngrok.exe同層目錄的時候才能使用,所以把exe放在好找的地方
您好,謝謝回覆,我在輸入./ngrok http 8888時,./與ngrok中間不小心空了一格,導致無法進人,目前已解決,非常謝謝您!