कभी-कभी आपको आईपी पते के लिए जियोलोकेशन की जानकारी जल्दी से प्राप्त करने की आवश्यकता होती है। लिनक्स में, आप अपना समय बचाने और इस जानकारी को जल्दी से पुनः प्राप्त करने के लिए कंसोल ऐप्स की शक्ति का उपयोग कर सकते हैं। आइए देखें कि यह कैसे किया जा सकता है।
विज्ञापन
एक विशिष्ट आईपी पते के बारे में भू स्थान की जानकारी प्राप्त करने के लिए, आपको कुछ ऑनलाइन सेवा का उपयोग करने की आवश्यकता है जो उचित एपीआई प्रदान करती है। प्राधिकरण प्रक्रिया और एपीआई कुंजी प्रबंधन से बचने के लिए कुछ सार्वजनिक सेवा का उपयोग करना एक अच्छा विचार है। ऐसी ही एक सेवा है FreeGeoIP.net।
यह IP पते के जियोलोकेशन को खोजने के लिए एक सार्वजनिक HTTP एपीआई प्रदान करता है। यह आईपी पते के एक डेटाबेस का उपयोग करता है जो समय क्षेत्र, अक्षांश और देशांतर जैसी अन्य प्रासंगिक जानकारी के साथ शहरों से जुड़े हैं। यह बहुत उपयोगी है।
सेवा JSON या XML के रूप में खोज परिणाम प्रदान कर सकती है। इसलिए, यदि हम कुछ JSON पार्सर के साथ कर्ल को जोड़ते हैं, तो हम आवश्यक जानकारी प्राप्त कर सकते हैं।
अपना स्नैपचैट स्कोर कैसे बढ़ाएं
मैं अपने पसंदीदा JSON पार्सर का उपयोग करूँगा, jq:
यह बहुत हल्का और तेज है।
हमारे मामले के लिए, क्वेरी निम्नानुसार होनी चाहिए:
http://freegeoip.net/json/119.94.116.145
यहाँ 'json' भाग वांछित डेटा प्रारूप है। JSON के अलावा, यह XML या CSV हो सकता है।
चलिए क्वेरी को कर्ल से चलाते हैं और आउटपुट देखते हैं:
परिणाम कच्चा JSON आउटपुट है जिसे पढ़ना मुश्किल है। परिणाम सेट की उपस्थिति में सुधार करने के लिए, आइए jq टूल का उपयोग करें। इसे कर्ल के साथ इस प्रकार मिलाएं:
कर्ल http://freegeoip.net/json/119.94.116.145pgjq
आउटपुट को पढ़ना आसान होगा:
Jq का उपयोग करके, आप आउटपुट को फ़िल्टर कर सकते हैं और इसे केवल आवश्यक फ़ील्ड दिखा सकते हैं। निम्न आदेश केवल देश का नाम, अक्षांश और देशांतर प्रदर्शित करेगा:
कर्ल http://freegeoip.net/json/119.94.116.145INDjq -r '.country_name, .latitude, .longitude'
आप इस कमांड को निम्न शेल स्क्रिप्ट के रूप में सहेज सकते हैं:
#! / bin / sh curl -s http://freegeoip.net/json/pgjq -r '.country_name, .latitude, .longitude'
अगली बार जब आपको जियोलोकेशन की जानकारी प्राप्त करने की आवश्यकता हो, तो आप अपनी स्क्रिप्ट को इस तरह निष्पादित कर सकते हैं:
./geo.sh IP_address
बस।