Untuk mendapatkan informasi lokasi geografis tentang alamat IP tertentu, Anda perlu menggunakan beberapa layanan online yang menyediakan API yang sesuai. Sebaiknya gunakan beberapa layanan publik untuk menghindari prosedur otorisasi dan pengelolaan kunci API. Salah satu layanan tersebut adalah GratisGeoIP.net.
Ini menyediakan API HTTP publik untuk mencari geolokasi alamat IP. Ini menggunakan database alamat IP yang terkait dengan kota serta informasi relevan lainnya seperti zona waktu, garis lintang, dan garis bujur. Ini sangat berguna.
Layanan ini dapat memberikan hasil pencarian sebagai JSON atau XML. Jadi, jika kita menggabungkan curl dengan beberapa parser JSON, kita bisa mendapatkan info yang diperlukan.
Saya akan menggunakan parser JSON favorit saya, jq:
Ini sangat ringan dan cepat.
Untuk kasus kami, kuerinya adalah sebagai berikut:
|_+_|Bagian 'json' di sini adalah format data yang diinginkan. Selain JSON, bisa berupa XML atau CSV.
Mari jalankan kueri dengan curl dan lihat hasilnya:
Hasilnya adalah keluaran JSON mentah yang sulit dibaca. Untuk meningkatkan tampilan kumpulan hasil, mari gunakan alat jq. Gabungkan dengan curl sebagai berikut:
|_+_|Outputnya akan lebih mudah dibaca:
Dengan menggunakan jq, Anda dapat memfilter keluaran dan membuatnya hanya menampilkan bidang yang wajib diisi. Perintah berikut hanya akan menampilkan nama negara, garis lintang dan garis bujur:
|_+_|Anda dapat menyimpan perintah ini sebagai skrip shell berikut:
|_+_|Lain kali Anda perlu mendapatkan informasi geolokasi, Anda dapat menjalankan skrip seperti ini:
|_+_|Itu dia.