לפעמים אתה צריך לקבל את המידע על מיקום גיאוגרפי עבור כתובת IP במהירות. ב- Linux תוכלו להשתמש בכוחם של אפליקציות קונסולות בכדי לחסוך זמן ולקבל מידע זה במהירות. בואו נראה איך אפשר לעשות את זה.
פרסומת
כדי לקבל את המידע על מיקום גיאוגרפי אודות כתובת IP ספציפית, עליך להשתמש בשירות מקוון כלשהו המספק את ה- API המתאים. מומלץ להשתמש בשירות ציבורי כלשהו כדי להימנע מהליך ההרשאה ומניהול מפתח ה- API. שירות כזה הוא FreeGeoIP.net.
הוא מספק API HTTP ציבורי לחיפוש המיקום הגיאוגרפי של כתובות IP. הוא משתמש במסד נתונים של כתובות IP המשויכות לערים יחד עם מידע רלוונטי אחר כמו אזור זמן, קו רוחב ואורך. זה מאוד שימושי.
השירות יכול לספק תוצאות חיפוש כ- 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.145|jq
הפלט יהיה קל יותר לקריאה:
באמצעות jq, ניתן לסנן את הפלט ולגרום לו להציג רק את השדות הנדרשים. הפקודה הבאה תציג רק את שם המדינה, קו רוחב ואורך:
סלסול http://freegeoip.net/json/119.94.116.145|jq -r '.country_name, .latitude, .longitude'
אתה יכול לשמור פקודה זו כסקריפט הפגז הבא:
#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.country_name, .latitude, .longitude'
בפעם הבאה שתצטרך לקבל מידע על מיקום גיאוגרפי, תוכל לבצע את התסריט שלך כך:
./geo.sh כתובת IP
זהו זה.