Handleiding voor IP-locatie met JavaScript

Haal de locatie van één IP-adres op vanuit een browser of Node.js.

Een IP-adres opzoeken met JavaScript

Het verzoek accepteert één IPv4- of IPv6-adres en vraagt om JSON. Vervang het voorbeeldadres door het adres dat je wilt onderzoeken.

Locatieverzoek voor één IP-adres
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);

Voer dit uit in een moderne browser of in Node.js met fetch en AbortSignal.timeout. Browserverzoeken zoeken het opgegeven adres op; het endpoint voor het eigen IP-adres bepaalt het adres van de browserverbinding.

De locatie- en netwerkvelden lezen

location.country en location.country_code geven het geschatte land aan. location.city kan leeg of onnauwkeurig zijn. isp.asn identificeert het netwerk, dat kan verschillen van de persoon of het bedrijf dat het adres gebruikt.

Roep voor het adres van de aanvragende verbinding het volgende endpoint aan: https://api.ipquery.io/?format=json. Een serververzoek retourneert het IP-adres waarmee de server verbinding maakt; een browserverzoek retourneert het zichtbare adres van die verbinding.

Alle antwoordvelden

IPQuery in Dashy gebruiken

De Public IP-widget van Dashy ondersteunt IPQuery zonder API-sleutel. Voeg dit item toe aan de lijst widgets in een van je Dashy-secties:

Public IP-widget van Dashy
- type: public-ip
  options:
    provider: ipquery

Als de proxy-instellingen van Dashy uitstaan, verstuurt de browser het verzoek en toont de widget het openbare IP-adres en de geschatte locatie van die verbinding. Door useProxy: true op het hoogste niveau van de widget in te stellen of appConfig.widgetsAlwaysUseProxy in te schakelen, loopt het verzoek via de Dashy-server en verschijnt in plaats daarvan het openbare IP-adres van de server. useProxy: false op het hoogste niveau van de widget overschrijft de dashboardbrede instelling niet.

De widget gebruikt het endpoint van IPQuery voor het eigen IP-adres. Gebruik het bovenstaande JavaScript-verzoek voor één IP-adres om een ander adres te onderzoeken.

Opties voor de Public IP-widget van Dashy

Nauwkeurigheid en beveiliging

IP-geolocatie is een schatting van de netwerklocatie, geen apparaatlocatie. VPN’s, proxy’s, mobiele netwerken en gateways van providers kunnen ertoe leiden dat het adres ver van de gebruiker wordt geplaatst. Behandel ontbrekende waarden als onbekend in plaats van ze met een aanname in te vullen.

Als je toepassing X-Forwarded-For leest, vertrouw die header dan alleen als deze afkomstig is van een proxy die je beheert. Door de client aangeleverde headers kunnen worden vervalst. Valideer adressen vóór het opzoeken en behandel time-outs en HTTP-fouten afzonderlijk van een geslaagd resultaat.

API-referentie

Toegang tot volledige lijsten.

Mail voor prijzen of toegang tot volledige lijsten naar contact@ipquery.io.

Geselecteerde lijst
Geselecteerde records
Records in deze lijst