La problématique

Pour celles et ceux qui ne connaissent pas la notion de User-agent, l'user-agent d'un navigateur permet de connaitre les caractéristiques d'un navigateur. Très utile a l'epoque ou Internet Explorer nargait les normes des langages de création de sites web, ce User-agent permettait d'adapter le code javascript des pages en fonction des navigateurs. Encore utilisés à mon avis dans les bibliothèques javascript tel que JQuery, on est bien d'accord que nl'exemple que je montre là est bien pour la prouesse technique que pour son utilisation à proprement parler.

Le service interrogé

le service interrogé pour cet exemple est useragent.app, étonnant comme nom de service pour un service rertournant le user-agent. :-) Alors comment ca marche ? La première chose, après s'être identifié sur le site du webservice, L'URL contient les identifiant et accès au service. L'URL est de la forme :

https://api.useragent.app/parse?key=key&ua=ua

  • key : clef API du service, fourni lors de votre enregistrement au service
  • ua : C'est le user agent d'un navigateur

Le résultat

Nous allons regarder le résultat de cette API, avec une valeur de ua à Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36 (je n'ai pas utilisé pour ua la valeur du navigateur courant mais j'aurais pu) :

Et en PHP pour ceux que ça interesse :

<?php
    $key = 'VOTRE_CLEF_API_ICI';
    $ua = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
    $ua = urlencode($ua);
    $raw = file_get_contents('https://api.useragent.app/parse?key=' . $key . '&ua=' . $ua);

    if (!$raw) {
       die('Parse error');
    }

   $result = json_decode($raw, true);
   include("XMLJSON2array/array2table.php");
   echo array2table($result, true, $null = ' ');
?>