Przewodnik po lokalizacji IP w JavaScript

Pobierz lokalizację jednego adresu IP z przeglądarki lub Node.js.

Sprawdzanie adresu IP w JavaScript

Żądanie przyjmuje jeden adres IPv4 lub IPv6 i żąda odpowiedzi JSON. Zastąp adres z przykładu adresem, który chcesz zbadać.

Żądanie lokalizacji pojedynczego IP
const ip = '8.8.8.8'; // Replace with an IPv4 or IPv6 address.
const response = await fetch(
  'https://api.ipquery.io/' + encodeURIComponent(ip) + '?format=json',
  { signal: AbortSignal.timeout(8000) }
);
if (!response.ok) throw new Error('IPQuery returned HTTP ' + response.status);
const data = await response.json();
if (data.ip !== ip || !data.location || !data.isp) {
  throw new Error('Unexpected IPQuery response');
}
console.log(data.location.country, data.location.city, data.isp.asn);

Uruchom przykład w nowoczesnej przeglądarce lub Node.js z obsługą fetch i AbortSignal.timeout. Żądanie z przeglądarki sprawdza podany adres; endpoint własnego IP identyfikuje połączenie przeglądarki.

Odczyt pól lokalizacji i sieci

location.country i location.country_code wskazują przybliżony kraj. location.city może być puste lub niedokładne. isp.asn identyfikuje sieć, która może różnić się od osoby lub firmy korzystającej z adresu.

Aby uzyskać adres, z którego wysyłane jest żądanie, wywołaj https://api.ipquery.io/?format=json. Żądanie z serwera zwraca IP, z którego serwer nawiązuje połączenie; żądanie z przeglądarki zwraca widoczny adres jej połączenia.

Wszystkie pola odpowiedzi

Korzystanie z IPQuery w Dashy

Widżet Public IP w Dashy obsługuje IPQuery bez klucza API. Dodaj ten wpis do listy widgets w jednej z sekcji Dashy:

Widżet Public IP w Dashy
- type: public-ip
  options:
    provider: ipquery

Gdy ustawienia proxy w Dashy są wyłączone, przeglądarka wysyła żądanie, a widżet pokazuje publiczny IP i przybliżoną lokalizację tego połączenia. Ustawienie useProxy: true na najwyższym poziomie widżetu lub włączenie appConfig.widgetsAlwaysUseProxy kieruje żądanie przez serwer Dashy i zamiast tego pokazuje publiczny IP serwera. Ustawienie useProxy: false na najwyższym poziomie widżetu nie zastępuje ustawienia obowiązującego dla całego panelu.

Widżet korzysta z endpointu własnego IP w IPQuery. Aby zbadać inny adres, użyj powyższego żądania JavaScript dla pojedynczego IP.

Opcje widżetu Public IP w Dashy

Dokładność i bezpieczeństwo

Geolokalizacja IP jest oszacowaniem lokalizacji sieci, a nie urządzenia. VPN-y, proxy, sieci komórkowe i bramy operatorów mogą powodować przypisanie adresowi lokalizacji odległej od użytkownika. Traktuj brakujące wartości jako nieznane zamiast uzupełniać je domysłami.

Jeśli aplikacja odczytuje X-Forwarded-For, ufaj temu nagłówkowi tylko wtedy, gdy dostarcza go kontrolowany przez Ciebie serwer proxy. Nagłówki przesyłane przez klienta mogą być sfałszowane. Waliduj adresy przed wysłaniem zapytań i obsługuj limity czasu oraz błędy HTTP oddzielnie od poprawnego wyniku.

Dokumentacja referencyjna API

Dostęp do pełnych list.

W sprawie cen lub dostępu do pełnych list napisz na contact@ipquery.io.

Wybrana lista
Wybrane rekordy
Rekordy na tej liście