Terkadang Anda perlu mendapatkan informasi geolokasi untuk alamat IP dengan cepat. Di Linux, Anda dapat menggunakan kekuatan aplikasi konsol untuk menghemat waktu dan mengambil informasi ini dengan cepat. Mari kita lihat bagaimana itu bisa dilakukan.
Iklan
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 manajemen kunci API. Salah satu layanan tersebut adalah FreeGeoIP.net.
Ini menyediakan API HTTP publik untuk mencari geolokasi alamat IP. Ini menggunakan database alamat IP yang terkait dengan kota bersama dengan informasi relevan lainnya seperti zona waktu, lintang dan bujur. Ini sangat berguna.
Layanan dapat memberikan hasil pencarian sebagai JSON atau XML. Jadi, jika kita menggabungkan curl dengan beberapa parser JSON, kita bisa mendapatkan info yang dibutuhkan.
cara menghapus baru-baru ini ditonton di netflix di tv
Saya akan menggunakan parser JSON favorit saya, jq:
Ini sangat ringan dan cepat.
Untuk kasus kami, kueri harus seperti berikut:
http://freegeoip.net/json/119.94.116.145
Bagian 'json' di sini adalah format data yang diinginkan. Selain JSON, bisa juga XML atau CSV.
Mari kita jalankan kueri dengan curl dan lihat hasilnya:
Hasilnya adalah keluaran JSON mentah yang sulit dibaca. Untuk meningkatkan tampilan set hasil, mari gunakan alat jq. Gabungkan dengan curl sebagai berikut:
curl http://freegeoip.net/json/119.94.116.145i>jq
Outputnya akan lebih mudah dibaca:
Dengan menggunakan jq, Anda dapat memfilter keluaran dan membuatnya hanya menampilkan bidang yang diperlukan. Perintah berikut hanya akan menampilkan nama negara, lintang dan bujur:
curl http://freegeoip.net/json/119.94.116.145i>jq -r '.country_name, .latitude, .longitude'
Anda dapat menyimpan perintah ini sebagai skrip shell berikut:
#! / bin / sh curl -s http://freegeoip.net/json/ideshowjq -r '.country_name'
Lain kali Anda perlu mendapatkan informasi geolokasi, Anda dapat menjalankan skrip Anda seperti ini:
./geo.sh IP_address
Itu dia.