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 = ' ');
?>