Pour géolocaliser une IP public, nous allons utiliser l’api du site http://ip-api.com/. Pour utiliser cette API, l’outil « curl » va nous être utile
== Installation ==
aptitude install curl
== Utilisation ==
Nous avons le choix entre plusieurs formats de sortie lors d’une requête à l’API
=== XML ===
curl -XGET http://ip-api.com/xml/208.80.152.201
success
=== JSON ===
curl -XGET http://ip-api.com/json/208.80.152.201
{"status":"success","country":"United States","countryCode":"US","region":"CA", "regionName":"California","city":"San Francisco","zip":"94105","lat":"37.7898", "lon":"-122.3942","timezone":"America\/Los_Angeles","isp":"Wikimedia Foundation", "org":"Wikimedia Foundation","as":"AS14907 Wikimedia US network","query":"208.80.152.201"}
=== CSV ===
curl -XGET http://ip-api.com/csv/208.80.152.201
success,"United States",US,CA,California,"San Francisco",94105,37.7898,-122.3942,America/Los_Angeles,"Wikimedia Foundation","Wikimedia Foundation","AS14907 Wikimedia US network",208.80.152.201
=== Séparé par une ligne ===
curl -XGET http://ip-api.com/line/208.80.152.201
success United States US CA California San Francisco 94105 37.7898 -122.3942 America/Los_Angeles Wikimedia Foundation Wikimedia Foundation AS14907 Wikimedia US network
=== Sérialisé PHP ===
curl -XGET http://ip-api.com/php/208.80.152.201
a:14:{s:6:"status";s:7:"success";s:7:"country";s:13:"United States";s:11:"countryCode";s:2:"US";s:6:"region";s:2:"CA";s:10:"regionName";s:10:"California";s:4:"city"; s:13:"San Francisco";s:3:"zip";s:5:"94105";s:3:"lat";s:7:"37.7898";s:3:"lon";s:9:"-122.3942";s:8:"timezone";s:19:"America/Los_Angeles";s:3:"isp";s:20:"Wikimedia Foundation"; s:3:"org";s:20:"Wikimedia Foundation";s:2:"as";s:28:"AS14907 Wikimedia US network";s:5:"query";s:14:"208.80.152.201";}