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 та оптимізувати продуктивність системи
Виправте Windows Update, який застряг у перевірці оновлень

Виправте Windows Update, який застряг у перевірці оновлень

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

Читати далі

Як змінити шаблон імені копії файлу в Windows 11

Як змінити шаблон імені копії файлу в Windows 11

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

Читати далі

Завантажте ISO-образи Windows 10 версії 20H2

Завантажте ISO-образи Windows 10 версії 20H2

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

Читати далі