Nākamajā rakstā mēs apskatīsim, kā mēs varam iegūstiet mūsu publiskās IP adreses ģeogrāfisko atrašanās vietu. Mēs to varēsim izdarīt, izmantojot atvērtos API un vienkāršu bash skriptu, visu no Ubuntu termināla. Šodien visām ierīcēm, kas savienotas ar internetu, ir IP, kas ir viņu identifikators pasaulei. Šī adrese tiks izmantota, lai iegūtu jūsu atrašanās vietu.
Kad mēs sērfojam internetā, katram serverim ir publiska IP adrese, tas tiek piešķirts tieši serverim vai caur maršrutētāju, kas uz šo serveri nosūta tīkla trafiku. IP adreses nodrošina ērtu veidu, kā izsekot servera ģeogrāfisko atrašanās vietu pasaulē. To var panākt, izmantojot divas API nodrošinātās ipinfo.io e ipvigilante.com ar kuru mēs varēsim iegūt servera valsti, pilsētas nosaukumu un tās ģeogrāfiskās koordinātas.
Turpmākajās rindās mēs redzēsim, kā dabūt IP ģeogrāfiskā atrašanās vieta no termināla, kas mums palīdz čokurošanās un jq. Galvenais mērķis un izmantošana čokurošanās ir automatizēt failu pārsūtīšanu vai bez uzraudzības darbību secības, kamēr jq ir ļoti augsta līmeņa funkcionālā valoda, kas atbalsta JSON datu plūsmu atkāpšanos un pārvaldību.
IP ģeogrāfiskā atrašanās vieta no termināļa
Instalējiet Curl un jq
Lai iegūtu IP adreses ģeogrāfisko atrašanās vietu, mums tas būs jādara instalēt čokurošanās un jq komandrindas rīks apstrādāt JSON datus, kas iegūti no ģeolokācijas API. Lai instalētu abus, terminālā (Ctrl + Alt + T) jums būs jāuzraksta komanda:
sudo apt install curl jq
Iegūstiet servera publisko IP adresi
Pirms atrašanās vietas iegūšanas jums tas ir nepieciešams zināt tā servera publisko IP adresi, ar kuru mēs izveidojam savienojumu. Šim nolūkam mēs izmantosim šādu komandu CURL, ar kuru mēs pieprasīsim ipinfo.io no termināla (Ctrl + Alt + T), kā parādīts zemāk:
curl https://ipinfo.io/ip
Pateicoties API, iegūstiet datus par savas sistēmas IP ģeogrāfisko atrašanās vietu
Pēc iepriekšējās komandas izpildes mēs iegūsim publisko IP adresi. Kad tas būs, mēs varēsim iesniedziet pieprasījumu vietnei ipvigilante.com, lai iegūtu ģeogrāfiskās atrašanās vietas datus. Šim nolūkam mēs izmantosim šādu komandu terminālā (Ctrl + Alt + T). Ir svarīgi aizstāt publisko IP ar iegūto ar iepriekšējo komandu.
curl https://ipvigilante.com/la-dirección-IP
Automatizējiet API izsaukumu, izmantojot Bash Script
Lai automatizētu saziņas procesu ar API, uz kuru mēs ejam izveidot skriptu failā ar nosaukumu ipgeolocator.sh (nosaukums nav obligāts). Tās izveidošanai komandrindai varēsim izmantot jebkuru redaktoru, ar kuru katrs jūtas visērtāk.
vim ipgeolocalizador.sh
Kad redaktors tiek atvērts, jums tas vienkārši ir jādara ielīmējiet līniju parādīts zemāk:
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Pēc ielīmēšanas jums atliek tikai saglabāt failu un iziet no redaktora. Pēc tam tas būs nepieciešams padarīt skriptu izpildāmu. Mēs to darīsim, rakstot tajā pašā terminālī:
chmod +x ipgeolocalizador.sh
Šajā brīdī mēs varam palaidiet skriptu šādi, lai iegūtu IP ģeogrāfisko atrašanās vietu valsts:
./ipgeolocalizador.sh
Iepriekš minētajā skriptā tiek parādīts pilsētas un valsts nosaukums, kā arī aptuvenas platuma un garuma koordinātas. Patiesība ir tāda Es nezinu, kāda kļūda tai varētu būt.
Ja nevēlaties saglabāt iepriekš minēto garo komandu failā, jūs varat arī palaist to pašu komandu tieši terminālā (Ctrl + Alt + T):
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Šajā īsajā rakstā mēs esam redzējuši, kā iegūt IP atrašanās vietas noteikšanu no Ubuntu, izmantojot terminālu un čokurošanās un jq komandas. Jūs varat iegūt vairāk informācijas par jq vai par čokurošanās viņu attiecīgajos Vikipēdijas rakstos.