تحتاج أحيانًا إلى الحصول على معلومات تحديد الموقع الجغرافي لعنوان IP بسرعة. في Linux ، يمكنك استخدام قوة تطبيقات وحدة التحكم لتوفير وقتك واسترداد هذه المعلومات بسرعة. دعونا نرى كيف يمكن القيام بذلك.
إعلانات
للحصول على معلومات الموقع الجغرافي حول عنوان IP محدد ، تحتاج إلى استخدام بعض الخدمات عبر الإنترنت التي توفر واجهة برمجة التطبيقات المناسبة. إنها لفكرة جيدة استخدام بعض الخدمات العامة لتجنب إجراء التفويض وإدارة مفتاح واجهة برمجة التطبيقات. إحدى هذه الخدمات هي FreeGeoIP.net.
يوفر واجهة برمجة تطبيقات HTTP عامة للبحث في تحديد الموقع الجغرافي لعناوين IP. يستخدم قاعدة بيانات لعناوين IP المرتبطة بالمدن بالإضافة إلى المعلومات الأخرى ذات الصلة مثل المنطقة الزمنية وخط العرض وخط الطول. هذا مفيد جدا.
يمكن أن توفر الخدمة نتائج بحث مثل JSON أو XML. لذلك ، إذا قمنا بدمج curl مع بعض محلل JSON ، فيمكننا الحصول على المعلومات المطلوبة.
كيفية الانضمام إلى خادم csgo مع IP
سأستخدم محلل JSON المفضل لدي ، jq:
إنه خفيف الوزن وسريع للغاية.
بالنسبة لحالتنا ، يجب أن يكون الاستعلام كما يلي:
http://freegeoip.net/json/119.94.116.145
جزء 'json' هنا هو تنسيق البيانات المطلوب. إلى جانب JSON ، يمكن أن يكون XML أو CSV.
لنقم بتشغيل الاستعلام باستخدام curl ونرى الناتج:
والنتيجة هي إخراج JSON خام يصعب قراءته. لتحسين مظهر مجموعة النتائج ، دعنا نستخدم أداة jq. ادمجه مع الضفيرة كما يلي:
curl http://freegeoip.net/json/119.94.116.145|jq
سيكون الإخراج أسهل في القراءة:
باستخدام jq ، يمكنك تصفية الإخراج وجعله يعرض الحقول المطلوبة فقط. سيعرض الأمر التالي اسم الدولة وخط العرض وخط الطول فقط:
curl http://freegeoip.net/json/119.94.116.145|jq -r '.country_name، .latitude، .longitude'
يمكنك حفظ هذا الأمر كبرنامج shell النصي التالي:
#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.country_name، .latitude، .longitude'
في المرة التالية التي تحتاج فيها إلى الحصول على معلومات تحديد الموقع الجغرافي ، يمكنك تنفيذ البرنامج النصي الخاص بك كما يلي:
./geo.sh IP_address
هذا هو.