【Python3】自分のIPアドレスを取得する方法
おはこんばんにちは、せなです。
今回はPythonで自分のIPアドレスを取得する方法を説明したいと思います。
ローカルIPアドレスを取得する方法
socketライブラリを使用する方法
簡単な方法として標準ライブラリのsocketを使用する方法があります。
import socket
ip = socket.gethostbyname(socket.gethostname())
print(ip)
ipgetライブラリを使用する方法
ipgetは外部ライブラリのためpipでインストールする必要があります。
pip install ipget
import ipget
ip = ipget.ipget()
print(ip.ipaddr('eth0')) # 有線IP
print(ip.ipaddr('wlan0')) # 無線IP
グローバルIPアドレスを取得する方法
requestsを使用する方法
ipify APIにリクエストを行うことで取得することができます。
外部サービスを使用するため、サービスの運用状況に影響を受ける可能性がありますので注意が必要です。
import requests
def get_public_ip():
response = requests.get('https://api.ipify.org?format=json')
ip = response.json()['ip']
return ip
# グローバルIPアドレスを取得する
public_ip = get_public_ip()
print(public_ip)
whoisを使用する方法
JPNICにwhois問い合わせを行なって取得する方法です。
問い合わせにはドメインが必要になります。
import whois
def get_global_id(domain):
jpnic_server = 'whois.nic.ad.jp'
query = whois.query(domain, server=jpnic_server)
if query:
return query.registrar_id
else:
return None
domain_name = 'example.co.jp' # ドメインに変更
global_id = get_global_id(domain_name)
if global_id:
print(f'{domain_name}: {global_id}')
else:
print(domain_name)
最後に
IPアドレスの取得方法について説明させてもらいました。
開発中のシステムで自分のIPアドレスを自動で設定するようにしたので備忘録として残したいと思います。
ではでは〜
ディスカッション
コメント一覧
まだ、コメントがありません