Windows Tips & News

รับข้อมูลตำแหน่งทางภูมิศาสตร์ของที่อยู่ IP ใน Bash ใน Linux

บางครั้งคุณจำเป็นต้องได้รับข้อมูลตำแหน่งทางภูมิศาสตร์สำหรับที่อยู่ IP อย่างรวดเร็ว ใน Linux คุณสามารถใช้พลังของแอปคอนโซลเพื่อประหยัดเวลาและดึงข้อมูลนี้ได้อย่างรวดเร็ว มาดูกันว่าจะทำได้อย่างไร

ในการรับข้อมูลตำแหน่งทางภูมิศาสตร์เกี่ยวกับที่อยู่ IP เฉพาะ คุณต้องใช้บริการออนไลน์ที่มี API ที่เหมาะสม เป็นความคิดที่ดีที่จะใช้บริการสาธารณะเพื่อหลีกเลี่ยงขั้นตอนการอนุญาตและการจัดการคีย์ API หนึ่งในบริการดังกล่าวคือ FreeGeoIP.net.

ให้บริการ HTTP API สาธารณะเพื่อค้นหาตำแหน่งทางภูมิศาสตร์ของที่อยู่ IP ใช้ฐานข้อมูลของที่อยู่ IP ที่เชื่อมโยงกับเมืองต่างๆ พร้อมกับข้อมูลที่เกี่ยวข้องอื่นๆ เช่น เขตเวลา ละติจูด และลองจิจูด สิ่งนี้มีประโยชน์มาก

บริการสามารถให้ผลการค้นหาเป็น JSON หรือ XML ดังนั้น หากเรารวม curl กับตัวแยกวิเคราะห์ JSON เราจะได้รับข้อมูลที่จำเป็น

ฉันจะใช้ตัวแยกวิเคราะห์ 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 คุณสามารถกรองเอาต์พุตและทำให้แสดงเฉพาะฟิลด์ที่จำเป็นเท่านั้น คำสั่งต่อไปนี้จะแสดงเฉพาะชื่อประเทศ ละติจูด และลองจิจูด:

ขด http://freegeoip.net/json/119.94.116.145|jq -r '.country_name,.latitude,.longitude'

คุณสามารถบันทึกคำสั่งนี้เป็นเชลล์สคริปต์ต่อไปนี้:

#!/bin/sh. curl -s http://freegeoip.net/json/$1|jq -r '.country_name,.latitude,.longitude'

ครั้งต่อไปที่คุณต้องการรับข้อมูลตำแหน่งทางภูมิศาสตร์ คุณสามารถเรียกใช้สคริปต์ของคุณดังนี้:

./geo.sh IP_address

แค่นั้นแหละ.

Microsoft เผยแพร่การอัปเดตความปลอดภัยสำหรับ Windows 10

เว็บไซต์นี้ใช้คุกกี้เพื่อปรับปรุงประสบการณ์ของคุณในขณะที่คุณสำรวจเว็บไซต์ จากคุกกี้เหล่านี้ คุกกี...

อ่านเพิ่มเติม

สร้างทางลัดสนิปหน้าจอใน Windows 10

สร้างทางลัดสนิปหน้าจอใน Windows 10

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบเริ่มต้นด้วย Windows 10 build ...

อ่านเพิ่มเติม

วิธีการติดตั้ง Windows 7 บน PCI Express (NVMe) SSD

วิธีการติดตั้ง Windows 7 บน PCI Express (NVMe) SSD

หากคุณพยายามติดตั้ง Windows 7 บนดิสก์ SSD ซึ่งเชื่อมต่อผ่านบัส PCI Express (NVMe) คุณอาจประสบปัญห...

อ่านเพิ่มเติม