【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の基礎文法から応用例まで入門者向けに解説します。

コメント