Watch-IP mit JavaScript und TypeScript verwenden
@digitload/watch-ip-sdk (npm, v0.1.1) umschließt GET /v1/geo in einem kleinen Client mit TypeScript-Typen für jedes Antwortfeld und ohne Laufzeitabhängigkeiten.
Installation
Erfordert Node.js 18+ oder einen beliebigen modernen Browser — beide stellen das globale fetch bereit, auf dem dieses Paket aufbaut.
npm
npm install @digitload/watch-ip-sdkSchnellstart
Erstellen Sie einen Client mit Ihrem veröffentlichbaren Schlüssel und rufen Sie getGeo() auf. Die zurückgegebene GeoResponse ist vollständig typisiert; jedes Feld außer ip und isEUCountry ist nullable, prüfen Sie also ein Feld, bevor Sie es rendern.
TypeScript
import { WatchIP } from "@digitload/watch-ip-sdk";
const client = new WatchIP("wip_pub_xxxxxxxx");
const geo = await client.getGeo();
console.log(geo.country, geo.city, geo.timezone);Fehlerbehandlung und Timeouts
Jeder Fehlschlag — eine abgelehnte Anfrage (ungültiger Schlüssel, nicht erlaubter Origin, Ratenlimit) oder ein Netzwerkfehler — wirft eine WatchIPError mit einem status und einem stabilen code. Es gibt kein eingebautes Timeout; übergeben Sie das Signal eines AbortControllers, um eine langsame Anfrage selbst abzubrechen.
TypeScript
import { WatchIP, WatchIPError } from "@digitload/watch-ip-sdk";
const client = new WatchIP("wip_pub_xxxxxxxx");
const controller = new AbortController();
setTimeout(() => controller.abort(), 5000);
try {
const geo = await client.getGeo({ signal: controller.signal });
} catch (err) {
if (err instanceof WatchIPError) {
console.error(err.code, err.status, err.message);
}
}Optionale Felder
Übergeben Sie include: ["hostname"], um eine Reverse-DNS-Abfrage für die verbundene IP hinzuzufügen. Es ist optional, weil es einen zusätzlichen Netzwerk-Hop verursacht, fordern Sie es also nur an, wenn Sie das Feld verwenden.
TypeScript
const geo = await client.getGeo({ include: ["hostname"] });Was dieses SDK nicht abdeckt
Dieses Paket ruft nur GET /v1/geo auf. Es hat keine Methoden für IP-Abfrage, E-Mail-Validierung oder Risikoprüfungen — das sind Server-zu-Server-Endpoints, die mit einem geheimen Schlüssel authentifiziert werden, nicht mit dem veröffentlichbaren Schlüssel, um den dieses SDK herum aufgebaut ist. Rufen Sie sie direkt per HTTP auf; siehe die IP-Abfrage-Referenz und den Authentifizierungsleitfaden.
Verwandte Seiten
- JavaScript-LeitfadenBesucherstandort aus JavaScript im Browser abfragen.
- React-LeitfadenBesucherstandort zu einer React-Komponente hinzufügen.
- GET /v1/geo-ReferenzVollständige Feldreferenz für den Endpoint zur Besucher-Geolokalisierung.
- AuthentifizierungVeröffentlichbare vs. geheime Schlüssel, Origin-Bindung und Ratenbegrenzungen.