1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<!-- cette page sert à traiter les infos de recherches de livres -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?php
// la base de la requete
$auteur = $_POST['auteur'];
$niveau = "Medium"; //le niveau de la recherche dans Amazon...
$titre = $_POST['titre'];
//$type = $_POST['type'];
$type = "Books";
// identifiants amazon secrets
$Id_Amazon = "XXXXXXXXX";
$Amazon_secret ="XXXXXXXXXXXXXX";
// la base de l'url est le truc qu'il faudra modifier si le site change...
$method = "GET";
$zone = "fr";
$host = "ecs.amazonaws.". $zone;
// construction de la requete
$operation = "ItemSearch";
$service = "AWSECommerceService";
$reponse="ItemAttributes"; // ce qu'on veut qu'amazon renvoie
$recherche='Author='.$auteur; // la liste des trucs recherchés (auteur, titre...)
$time=time();
$version="2010-10-01"; // version de l'api d'amazon
// ce gros bloc est l'ensemble de la requete.
$requete ='AWSAccessKeyId='.$Id_Amazon.'&Version='.$version.'&Operation='.$operation.'&SearchIndex='.$type.$recherche.'&ResponseGroup='.$reponse.'&Timestamp='.$time;
$to_sign ="$method\n".$host."\n"."/onca/xml\n".$requete;
// la signature est un hash_hmac et doit etre encodée pour enlever + =...
$Sig = rawurlencode(base64_encode(hash_hmac('sha256', $to_sign, $Amazon_secret, true)));
$url = 'http://'.$host.'/onca/xml?'.$requete.'&Signature='.$Sig;
echo $url;
//récupération de la réponse d'Amazon
$contenu = file_get_contents($url);
$xml = simplexml_load_string($contenu);
$nombre_resul = $xml->Items->TotalResults;
echo $nombre_resul;
?>
<body>
</body>
</html> |
Partager