【Python】LINEにグローバルIPアドレスを送信する

PythonでLINEにグローバルIPアドレスを送信するする方法について入門者向けにまとめました。

【Python】LINEにグローバルIPアドレスを送信

外出先からラズベリーパイを操作するには、グローバルIPが動的IPの場合に、外出先の端末を通知する必要があります。
今回はPythonを使ってLINEアプリにグローバルIPを通知してみます。

● LINE NOTIFERのトークンを発行します(やり方は以下記事を参照)。

404 NOT FOUND | Python入門速報

● グローバルIPの変更があった際にLINEへ通知する以下のプログラムを作成します。

#coding:UTF-8
import requests
import subprocess
import time
import sys
import datetime

def main():
    globalIP_backup = ""
    token = '取得したLINEのトークン'
    while True:
        # グローバルIPアドレスを取得
        cmd = "curl inet-ip.info"
        globalIP = (subprocess.check_output(cmd.split())).decode(encoding='utf-8')
        globalIP = globalIP.rstrip("\n")

        # グローバルIPアドレスが変更されたらLINEに通知(プロセス起動時も含む)
        if globalIP != globalIP_backup:
            url = "https://notify-api.line.me/api/notify"
            headers = {"Authorization" : "Bearer "+ token}
            payload = {"message" :  globalIP}
            r = requests.post(url ,headers = headers ,params=payload)
            globalIP_backup = globalIP

        # 600秒(10分間隔)で実行
        time.sleep(600)

if __name__ == '__main__':
    main()

● 実行してLINEに通知されたら成功です。

【Python超入門】使い方とサンプル集
Pythonとは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されている人気なプログラミング言語です。 主な特徴として「効率のよい、短くて読みやすいコードを書きやすい」、「ライブラリが豊富なのでサクッと...

コメント