Abstract API

De knowledge
Aller à la navigation Aller à la recherche
Les "time zones" dans le monde

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.