किसी विशिष्ट आईपी पते के बारे में भौगोलिक स्थान की जानकारी प्राप्त करने के लिए, आपको कुछ ऑनलाइन सेवा का उपयोग करने की आवश्यकता है जो उचित एपीआई प्रदान करती है। प्राधिकरण प्रक्रिया और एपीआई कुंजी प्रबंधन से बचने के लिए कुछ सार्वजनिक सेवाओं का उपयोग करना एक अच्छा विचार है। ऐसी ही एक सेवा है FreeGeoIP.net.
यह आईपी पते के जियोलोकेशन को खोजने के लिए एक सार्वजनिक HTTP एपीआई प्रदान करता है। यह आईपी पते के एक डेटाबेस का उपयोग करता है जो समय क्षेत्र, अक्षांश और देशांतर जैसी अन्य प्रासंगिक जानकारी के साथ शहरों से जुड़ा होता है। ये बहुत उपयोगी है.
सेवा JSON या XML के रूप में खोज परिणाम प्रदान कर सकती है। इसलिए, यदि हम कर्ल को कुछ JSON पार्सर के साथ जोड़ते हैं, तो हम आवश्यक जानकारी प्राप्त कर सकते हैं।
मैं अपने पसंदीदा JSON पार्सर का उपयोग करूंगा, jq:
यह बहुत हल्का और तेज़ है.
हमारे मामले के लिए, क्वेरी इस प्रकार होनी चाहिए:
|_+_|यहां 'json' भाग वांछित डेटा प्रारूप है। JSON के अलावा, यह XML या CSV हो सकता है।
आइए क्वेरी को कर्ल के साथ चलाएं और आउटपुट देखें:
परिणाम कच्चा JSON आउटपुट है जिसे पढ़ना कठिन है। परिणाम सेट की उपस्थिति में सुधार करने के लिए, आइए jq टूल का उपयोग करें। इसे कर्ल के साथ इस प्रकार मिलाएं:
|_+_|आउटपुट को पढ़ना आसान होगा:
Jq का उपयोग करके, आप आउटपुट को फ़िल्टर कर सकते हैं और इसे केवल आवश्यक फ़ील्ड दिखा सकते हैं। निम्नलिखित आदेश केवल देश का नाम, अक्षांश और देशांतर प्रदर्शित करेगा:
|_+_|आप इस कमांड को निम्नलिखित शेल स्क्रिप्ट के रूप में सहेज सकते हैं:
|_+_|अगली बार जब आपको जियोलोकेशन जानकारी प्राप्त करने की आवश्यकता हो, तो आप अपनी स्क्रिप्ट को इस तरह निष्पादित कर सकते हैं:
|_+_|इतना ही।