Usa Watch-IP con JavaScript e TypeScript
@digitload/watch-ip-sdk (npm, v0.1.1) incapsula GET /v1/geo in un client leggero con tipi TypeScript per ogni campo della risposta e senza dipendenze a runtime.
Installazione
Richiede Node.js 18+ o qualsiasi browser moderno — entrambi forniscono la fetch globale su cui si basa questo pacchetto.
npm
npm install @digitload/watch-ip-sdkAvvio rapido
Crea un client con la tua chiave pubblicabile e chiama getGeo(). Il GeoResponse restituito è completamente tipizzato; ogni campo tranne ip e isEUCountry è nullable, quindi controlla un campo prima di mostrarlo.
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);Gestione degli errori e timeout
Ogni fallimento — una richiesta rifiutata (chiave non valida, origine non consentita, limite di frequenza) o un errore di rete — genera un WatchIPError con uno status e un code stabile. Non esiste un timeout integrato; passa il signal di un AbortController per annullare tu stesso una richiesta lenta.
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);
}
}Campi opzionali
Passa include: ["hostname"] per aggiungere una ricerca DNS inversa per l'IP che si connette. È opzionale (opt-in) perché aggiunge un ulteriore passaggio di rete, quindi richiedilo solo se usi il campo.
TypeScript
const geo = await client.getGeo({ include: ["hostname"] });Cosa non copre questo SDK
Questo pacchetto chiama solo GET /v1/geo. Non ha metodi per la ricerca IP, la validazione email o i controlli di rischio — quelli sono endpoint da server a server autenticati con una chiave segreta, non con la chiave pubblicabile attorno a cui è costruito questo SDK. Chiamali direttamente via HTTP; consulta il riferimento della ricerca IP e la guida all'autenticazione.
Pagine correlate
- Guida JavaScriptRichiedi la posizione del visitatore dal JavaScript del browser.
- Guida ReactAggiungi la posizione del visitatore a un componente React.
- Riferimento GET /v1/geoRiferimento completo dei campi per l'endpoint di geolocalizzazione del visitatore.
- AutenticazioneChiavi pubblicabili e chiavi segrete, restrizione di origine e limiti di frequenza.