Windows10でIPアドレスのジオロケーション情報を取得する
前回の記事で見た bashを使用してIPアドレスのジオロケーション情報を取得する方法、Linuxのcurlおよびjq。 同じことがWindows10でどのように行われるかを見てみましょう。 LinuxまたはPowerShellで同じ目的でBashを使用できます。
広告
繰り返しになりますが、ジオロケーション情報のソースとして無料サービス「freegeoip.net」を使用します。 IPアドレスのジオロケーションを検索するためのパブリックHTTPAPIを提供します。 都市に関連付けられているIPアドレスのデータベースと、タイムゾーン、緯度、経度などの他の関連情報を使用します。 これはとても便利です。
UbuntuでBashを使用してWindows10のIPアドレスのジオロケーション情報を取得する
LinuxにBashがインストールされている場合は、この場合に使用できます。 jqコンソールのJSONパーサーをインストールする必要があります。 次のようにしてください。
- UbuntuでBashを開きます。 最初にインストールする必要があるかもしれません。 次の記事を参照してください。
Windows10でUbuntuBashを有効にする方法ヒント:できます UbuntuのBashをエクスプローラーのコンテキストメニューに追加します 任意のフォルダですばやく開きます。 - 次のコマンドを入力します。
sudo apt-get install jq
アプリケーションがインストールされます:
- これで、次のコマンドを使用できます。
カール http://freegeoip.net/json/119.94.116.145>tmpjson.txt && jq '。' tmpjson.txt && rm tmpjson.txt
出力:
同じコマンドです ネイティブLinux環境で使用ただし、不具合があります。 Windows 10では、UbuntuのBashでパイプライン出力のサポートが壊れています。 この問題が原因で、複数のツールを組み合わせて適切に連携させることはできません。
そこで、サーバーの応答を保存してから削除する一時ファイル「tmpjson.txt」を使用しました。
UbuntuでBashを使用していない場合は、代わりにPowerShellを使用できます。
PowerShellを使用してWindows10のIPアドレスのジオロケーション情報を取得する
ここで説明するように、PowerShellの新しいインスタンスを開きます。 Windows10でPowerShellを開くためのすべての方法
カールツールの代わりに、コマンドレットを使用できます Invoke-RestMethod. これは、通常JSONまたはXMLデータを返すREST(Representational State Transfer)サービスと連携するために特別に作成されています。
構文は次のとおりです。
Invoke-RestMethod -Method Get -Uri http://freegeoip.net/json/119.94.116.145
コマンドの結果は次のようになります。
コマンドに追加の書式を適用する必要はありません。 それはすでに出力にうまく表示されています。
それでおしまい。