کسی مخصوص IP ایڈریس کے بارے میں جیو لوکیشن کی معلومات حاصل کرنے کے لیے، آپ کو کچھ آن لائن سروس استعمال کرنے کی ضرورت ہے جو مناسب API فراہم کرتی ہے۔ اجازت دینے کے طریقہ کار اور API کلیدی انتظام سے بچنے کے لیے کچھ عوامی خدمات کا استعمال کرنا اچھا خیال ہے۔ ایسی ہی ایک خدمت ہے۔ FreeGeoIP.net۔
یہ IP پتوں کے جغرافیائی محل وقوع کو تلاش کرنے کے لیے ایک عوامی HTTP API فراہم کرتا ہے۔ یہ IP پتوں کا ڈیٹا بیس استعمال کرتا ہے جو شہروں کے ساتھ دیگر متعلقہ معلومات جیسے ٹائم زون، عرض البلد اور عرض البلد کے ساتھ منسلک ہوتے ہیں۔ یہ بہت مفید ہے۔
سروس JSON یا XML کے بطور تلاش کے نتائج فراہم کر سکتی ہے۔ لہذا، اگر ہم کچھ JSON پارسر کے ساتھ curl کو جوڑتے ہیں، تو ہم مطلوبہ معلومات حاصل کر سکتے ہیں۔
میں اپنا پسندیدہ JSON تجزیہ کار استعمال کروں گا، jq:
یہ بہت ہلکا اور تیز ہے۔
ہمارے کیس کے لیے، استفسار اس طرح ہونا چاہیے:
|_+_|یہاں 'json' حصہ مطلوبہ ڈیٹا فارمیٹ ہے۔ JSON کے علاوہ، یہ XML یا CSV ہو سکتا ہے۔
آئیے curl کے ساتھ استفسار چلائیں اور آؤٹ پٹ دیکھیں:
نتیجہ خام JSON آؤٹ پٹ ہے جسے پڑھنا مشکل ہے۔ رزلٹ سیٹ کی ظاہری شکل کو بہتر بنانے کے لیے، آئیے jq ٹول استعمال کریں۔ اسے کرل کے ساتھ اس طرح جوڑیں:
|_+_|آؤٹ پٹ کو پڑھنے میں آسانی ہوگی:
jq کا استعمال کرتے ہوئے، آپ آؤٹ پٹ کو فلٹر کر سکتے ہیں اور اسے صرف مطلوبہ فیلڈز دکھا سکتے ہیں۔ درج ذیل کمانڈ صرف ملک کا نام، عرض البلد اور عرض البلد کو ظاہر کرے گی۔
|_+_|آپ اس کمانڈ کو مندرجہ ذیل شیل اسکرپٹ کے بطور محفوظ کر سکتے ہیں۔
|_+_|اگلی بار جب آپ کو جغرافیائی محل وقوع کی معلومات حاصل کرنے کی ضرورت ہو، تو آپ اپنی اسکرپٹ کو اس طرح چلا سکتے ہیں:
|_+_|یہی ہے۔