グローバルIPアドレスを得る
今まではipifyを使っていました。
> Invoke-WebRequest api.ipify.org | Write-Host
125.203.***.***
非常にシンプルで使用制限もなく応答速度も問題なくて重宝していました。
これで終わりでいいんですが、みんな大好きStackOverflowのとあるスレッドで有用なやり取りがあったので。
Getting my public IP via API - Stack Overflow
どうやらipinfo.ioというのがあるようで、「1日1000リクエストまで」という制限があるようですが*1柔軟性が高いです。
オプションを何もつけなければJSONでデータが返ってきます。
> Invoke-WebRequest ipinfo.io | Write-Host { "ip": "125.203.***.***", "hostname": "i125-203-(中略).ap.plala.or.jp", "city": "", "region": "", "country": "JP", "loc": "35.***,139.***", "org": "AS4713 NTT Communications Corporation" }
まぁ使い方は公式サイトにでかでかと書かれてるのでわざわざここで説明するまでもないんですが、JSONのプロパティがオプション名になってます。
> Invoke-WebRequest ipinfo.io/ip | Write-Host 125.203.***.*** > Invoke-WebRequest ipinfo.io/country | Write-Host JP
特に凝ったことするのでなければipify, ちょっと別の情報も使いたいってときはipinfo.ioって具合に使い分けましょうかね。
*1:無料プランでの話なので、有料プランを選べばもちろん制限は緩くなります。