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 та оптимізувати продуктивність системи

Завантажте контекстне меню безпечного видалення

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

Читати далі

Вимкніть онлайн-розпізнавання мовлення за допомогою групової політики в Windows 10

Вимкніть онлайн-розпізнавання мовлення за допомогою групової політики в Windows 10

Windows надає функцію розпізнавання мовлення на основі пристрою (доступну через розпізнавання мов...

Читати далі

Знімки екрана інтерфейсу користувача Microsoft Edge на основі Chromium

Знімки екрана інтерфейсу користувача Microsoft Edge на основі Chromium

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

Читати далі