Panduan lokasi IP dengan JavaScript

Ambil lokasi satu alamat IP dari browser atau Node.js.

Mencari alamat IP dengan JavaScript

Permintaan menerima satu alamat IPv4 atau IPv6 dan meminta JSON. Ganti alamat contoh dengan alamat yang perlu diperiksa.

Permintaan lokasi untuk satu 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);

Jalankan di browser modern atau Node.js yang mendukung fetch dan AbortSignal.timeout. Permintaan dari browser mengidentifikasi alamat yang Anda berikan; endpoint IP sendiri mengidentifikasi alamat koneksi browser.

Membaca kolom lokasi dan jaringan

location.country dan location.country_code menunjukkan perkiraan negara. location.city dapat kosong atau tidak akurat. isp.asn mengidentifikasi jaringan, yang dapat berbeda dari orang atau perusahaan yang menggunakan alamat tersebut.

Untuk mendapatkan alamat asal permintaan, panggil https://api.ipquery.io/?format=json. Permintaan dari server mengembalikan IP yang digunakan server untuk terhubung; permintaan dari browser mengembalikan alamat koneksinya yang terlihat dari luar.

Semua kolom respons

Menggunakan IPQuery di Dashy

Widget Public IP Dashy mendukung IPQuery tanpa kunci API. Tambahkan entri ini ke daftar widgets di salah satu bagian Dashy Anda:

Widget Public IP Dashy
- type: public-ip
  options:
    provider: ipquery

Saat pengaturan proxy Dashy dinonaktifkan, browser mengirim permintaan dan widget menampilkan IP publik serta perkiraan lokasi koneksi tersebut. Mengatur useProxy: true di tingkat teratas widget, atau mengaktifkan appConfig.widgetsAlwaysUseProxy, mengirim permintaan melalui server Dashy dan menampilkan IP publik server sebagai gantinya. Mengatur useProxy: false di tingkat teratas widget tidak mengesampingkan pengaturan untuk seluruh dasbor.

Widget menggunakan endpoint IP sendiri milik IPQuery. Untuk memeriksa alamat lain, gunakan permintaan JavaScript untuk satu IP di atas.

Opsi widget Public IP Dashy

Akurasi dan keamanan

Geolokasi IP merupakan perkiraan lokasi jaringan, bukan lokasi perangkat. VPN, proxy, jaringan seluler, dan gateway operator dapat menempatkan alamat jauh dari pengguna. Perlakukan nilai yang tidak tersedia sebagai tidak diketahui, bukan mengisinya dengan tebakan.

Jika aplikasi membaca X-Forwarded-For, percayai nilainya hanya jika diberikan oleh proxy yang Anda kendalikan. Header yang diberikan klien dapat dipalsukan. Validasi alamat sebelum melakukan permintaan pencarian dan tangani batas waktu serta kesalahan HTTP secara terpisah dari hasil yang berhasil.

Referensi API

Akses daftar lengkap.

Untuk harga atau akses daftar lengkap, kirim email ke contact@ipquery.io.

Daftar terpilih
Rekaman terpilih
Rekaman dalam daftar ini