Abstract API
Il s'agit d'un service de localisation à partir d'une adresse IP.
Leur site web est assez explicite : https://www.abstractapi.com/ip-geolocation-api
On doit comme sur tous ces sites se créer un compte et ainsi obtenir une API_KEY.
Ensuite c'est simple on fait une requête HTTPs et on nous retourne un "JSON".
Syntaxe
Ici on va faire les exemples avec curl et on va considéré que l'API_KEY est dans la variable $ABSTRACT_KEY
Une simple requête :
curl "https://ipgeolocation.abstractapi.com/v1/?api_key=$ABSTRACT_KEY"
Nous renvoie les infos complètes concernant notre IP adresse. (Celle que le serveur voit arriver en fait. Attention aux proxys).
{
"ip_address": "95.xxx.xxx.xxx",
"city": "Paris",
"city_geoname_id": 2988507,
"region": "Île-de-France",
"region_iso_code": "IDF",
"region_geoname_id": 3012874,
"postal_code": "75013",
"country": "France",
"country_code": "FR",
"country_geoname_id": 3017382,
"country_is_eu": true,
"continent": "Europe",
"continent_code": "EU",
"continent_geoname_id": 6255148,
"longitude": 2.3387,
"latitude": 48.8582,
"security": {
"is_vpn": false
},
"timezone": {
"name": "Europe/Paris",
"abbreviation": "CEST",
"gmt_offset": 2,
"current_time": "19:09:09",
"is_dst": true
},
"flag": {
"emoji": "🇫🇷",
"unicode": "U+1F1EB U+1F1F7",
"png": "https://static.abstractapi.com/country-flags/FR_flag.png",
"svg": "https://static.abstractapi.com/country-flags/FR_flag.svg"
},
"currency": {
"currency_name": "Euros",
"currency_code": "EUR"
},
"connection": {
"autonomous_system_number": 203476,
"autonomous_system_organization": "GANDI SAS",
"connection_type": "Corporate",
"isp_name": "GANDI is an ICANN accredited registrar",
"organization_name": null
}
}
C'est fou les informations que l'on a! Peut être un peu trop.
Les paramètres
Nom | Obliatoire | Description | Défaut |
---|---|---|---|
api_key | oui | A générer en créant un compte | |
ip_address | non | L'IP dont on souhaite avoir les informations | Son IP publique |
fields | non | liste ce champs (séparés par des ",") que l'on veut recevoir. (éviter de le JSON de 45 lignes ci dessus) |
Exemples
Récupérer la ville où est installé le serveur de nom de google (8.8.8.8)
curl "https://ipgeolocation.abstractapi.com/v1/?api_key=${ABSTRACT_KEY}&ip_address=8.8.8.8&fields=city"
nous réponds:
{
"city": "Mountain View"
}
Oui Google est bien a Mountain View
Quel est le fuseau horaire correspondant à mon IP publique
curl "https://ipgeolocation.abstractapi.com/v1/?api_key=${ABSTRACT_KEY}&fields=timezone"
Qui nous réponds:
{
"timezone": {
"name": "Europe/Paris",
"abbreviation": "CEST",
"gmt_offset": 2,
"current_time": "19:25:39",
"is_dst": true
}
}
On sait que l'on est situé dans la zone de Paris en Europe. Que actuellement il est 19:25 en zone Central Europe Summer Time et oui le 'DST', daylight saving time (heure d'été en Français) est actif.