次の記事では、どうすればよいかを見ていきます。 パブリックIPアドレスの地理的位置を取得します。 これは、すべてUbuntuターミナルから、オープンAPIと単純なbashスクリプトを介して実行できます。 今日、インターネットに接続されているすべてのデバイスにはIPがあり、これが世界の識別子となっています。 この住所は、現在地を取得するために使用する住所です。
私たちがインターネットをサーフィンするとき、 各サーバーにはパブリックIPアドレスがあります、これはサーバーに直接割り当てられるか、ネットワークトラフィックをそのサーバーに送信するルーターを介して割り当てられます。 IPアドレスは、世界中のサーバーの地理的位置を追跡する簡単な方法を提供します。 これは、によって提供されるXNUMXつのAPIを利用することで実現できます。 ipinfo.io e ipvigilante.com サーバーの国、都市の名前、およびその地理的座標を取得できます。
次の行では、その方法を確認します 取得する IPの地理的位置 ターミナルからcurlとjqを手伝ってくれます。 主な目的と用途 curl ファイル転送または監視されていない一連の操作を自動化することです。 jq は、JSONデータストリームのバックトラッキングと管理をサポートする非常に高レベルの関数型言語です。
端末からのIPの地理的位置
Curlとjqをインストールします
IPアドレスの地理的位置を取得するには、次のことを行う必要があります。 curlをインストールします と jqコマンドラインツール ジオロケーションAPIから取得したJSONデータを処理します。 両方をインストールするには、ターミナル(Ctrl + Alt + T)で次のコマンドを記述する必要があります。
sudo apt install curl jq
サーバーのパブリックIPアドレスを取得します
場所を取得する前に、あなたはする必要があります 接続先のサーバーのパブリックIPアドレスを知っている。 このために、次のcURLコマンドを使用してリクエストを行います。 ipinfo.io 以下に示すように、ターミナル(Ctrl + Alt + T)から:
curl https://ipinfo.io/ip
APIのおかげで、システムのIPの地理的位置のデータを取得します
前のコマンドを実行した後、パブリックIPアドレスを取得します。 私たちがそれを手に入れたら、私たちはできるようになります ジオロケーションデータを取得するためにipvigilante.comにリクエストを送信します。 このために、ターミナルで次のコマンドを使用します(Ctrl + Alt + T)。 パブリックIPを前のコマンドで取得したものに置き換えることが重要です。
curl https://ipvigilante.com/la-dirección-IP
Bashスクリプトを使用してAPI呼び出しを自動化する
APIとの通信プロセスを自動化するために、 と呼ばれるファイル内にスクリプトを作成します ipgeolocator.sh (名前はオプションです)。 その作成には、それぞれが最も快適に感じるコマンドライン用の任意のエディターを使用できます。
vim ipgeolocalizador.sh
エディターが開いたら、内部で 行を貼り付けます 下に示された:
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
貼り付けたら、ファイルを保存してエディターを終了するだけです。 この後それは必要になります スクリプトを実行可能にする。 同じ端末に書き込むことでこれを行います。
chmod +x ipgeolocalizador.sh
この時点で、 次のようにスクリプトを実行して、IPの地理的位置を取得します 公共:
./ipgeolocalizador.sh
上記のスクリプトは、おおよその緯度と経度の座標とともに、都市と国の名前を表示します。 真実はそれです 許容誤差がわかりません.
上記の長いコマンドをファイル内に保存したくない場合は、 同じコマンドをターミナルで直接実行することもできます (Ctrl + Alt + T):
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
この短い記事では、 terminal、curl、jqコマンドを使用してUbuntuからIPのジオロケーションを取得します。 あなたはについてのより多くの情報を得ることができます jq または約 curl 対応するウィキペディアの記事で。