Windows Tips & News

Отримайте інформацію про геолокацію IP-адреси в Bash в Linux

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність системи

Іноді вам потрібно швидко отримати інформацію про геолокацію для IP-адреси. У Linux ви можете використовувати потужність консольних програм, щоб заощадити свій час і швидко отримати цю інформацію. Давайте подивимося, як це можна зробити.

Реклама


Щоб отримати інформацію про географічне розташування певної IP-адреси, вам потрібно використовувати онлайн-сервіс, який надає відповідний API. Щоб уникнути процедури авторизації та керування ключами API, доцільно використовувати деякі загальнодоступні служби. Однією з таких послуг є FreeGeoIP.net.

Він надає публічний HTTP API для пошуку геолокації IP-адрес. Він використовує базу даних IP-адрес, які пов’язані з містами, а також іншу відповідну інформацію, як-от часовий пояс, широту та довготу. Це дуже корисно.

Служба може надавати результати пошуку як JSON або XML. Отже, якщо ми об’єднаємо curl з деяким парсером JSON, ми зможемо отримати необхідну інформацію.

Я буду використовувати свій улюблений парсер JSON, jq:

jq-in-reposВін дуже легкий і швидкий.

У нашому випадку запит має бути таким:

http://freegeoip.net/json/119.94.116.145

Частина "json" тут є бажаним форматом даних. Крім JSON, це може бути XML або CSV.

Давайте запустимо запит за допомогою curl і подивимося на результат:

geo-query-rawРезультатом є вихідний вихідний файл JSON, який важко читати. Щоб покращити вигляд набору результатів, скористаємося інструментом jq. Комбінуйте його з завитком наступним чином:

завивати http://freegeoip.net/json/119.94.116.145|jq

Результат буде легше читати:у форматі геозапиту

Використовуючи jq, ви можете відфільтрувати вихідні дані та показати лише необхідні поля. Наступна команда відображатиме лише назву країни, широту та довготу:

завивати http://freegeoip.net/json/119.94.116.145|jq -r '.назва_країни,.широта,.довгота'

відфільтрований геозапитомВи можете зберегти цю команду як такий сценарій оболонки:

#!/bin/sh. завивати -с http://freegeoip.net/json/$1|jq -r '.назва_країни,.широта,.довгота'

Наступного разу, коли вам знадобиться отримати інформацію про геолокацію, ви можете виконати свій сценарій так:

./geo.sh IP_адреса

Це воно.

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність системи
Незабаром Chrome дозволить вам додавати коментарі до веб-сайтів

Незабаром Chrome дозволить вам додавати коментарі до веб-сайтів

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі

Windows 11 22H2 може мати ще більш жорсткі вимоги до обладнання

Windows 11 22H2 може мати ще більш жорсткі вимоги до обладнання

Хоча Windows 11 має дещо драконівські вимоги до обладнання, деякі з них все ще можна обійти. Ви в...

Читати далі

Сергій Ткаченко, автор Winaero

Цей веб-сайт використовує файли cookie, щоб покращити ваш досвід під час навігації веб-сайтом. З ...

Читати далі