Windows Tips & News

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

click fraud protection
РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з 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 10 Creators Update

Додайте командний рядок до контекстного меню в Windows 10 Creators Update

16 відповідейПочинаючи з Windows 10 build 14986, Microsoft увімкнула PowerShell за замовчуванням ...

Читати далі

Виправте перезавантаження (перезавантаження) Windows 10 замість завершення роботи

Виправте перезавантаження (перезавантаження) Windows 10 замість завершення роботи

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

Читати далі

Отримайте старий акумулятор і аплет живлення в системному треї Windows 10

Отримайте старий акумулятор і аплет живлення в системному треї Windows 10

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

Читати далі