【Python】ローカルPCのIPアドレスを取得する

ローカルパソコンに入っている音楽ファイルを、

Google Home mini から出力するために、「IPアドレス」が必要になりました。

そこで、PythonからローカルPCのIPを調べることにしました。

import socket
socket.gethostname()
'edosha_notepc'
socket.gethostbyname(socket.gethostname())
'192.168.1.10'
socket.gethostbyname_ex(socket.gethostname())
('edosha_notepc', [], ['192.168.56.1', '10.150.2.139', '192.168.1.10'])

ローカルPC(Pyhon)から Google Notifier を使用して (http://【ip】/music/play.php?id=1)、 Google Home mini から曲を流す。

gethostbyname だと 169.・・・となったことがあったので、

ips = socket.gethostbyname_ex(socket.gethostname())
ip = ips[2][0]

ではなく、

ips = socket.gethostbyname_ex(socket.gethostname())
ip = ""
for ip1 in ips[2]:
if "10.0.1." in ip1:
ip = ip1

↑こんな感じで、フィルタをかけるといいかもしれない。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA