Bonjour la zone,
[Ma life]Joueur de eve online, il vient d’y avoir une grosse mise à jour sur le jeu, et ils ont mis en place une API pour récupérer des informations du jeu sans avoir le client du jeu. et j’aimerais bien récupérer tout cela[/Ma life]
Problème :
On contacte un serveur, en passant en paramètre POST plusieurs informations.
Celui-ci nous renvoi un xml des informations.
Environnement :
php 4, serveur appelé : IIS
ce que j’ai fait :
[codebox]function httpPostRequest($host, $path, $arrPostvars, $port=80, $referer="")
{
$arrEncodedPairs = array();
$res = « »;
foreach ($arrPostvars as $var => $value)
$arrEncodedPairs[] = rawurlencode($var)."=".rawurlencode($value);
$postData = implode("&", $arrEncodedPairs);
$request = « POST $path HTTP/1.1\n ».
« Host: $host\n ».
(($referer) ? « Referer: $referer\n » : « »).
« Content-type: application/x-www-form-urlencoded\n ».
« Content-length: « .strlen($postData). »\n ».
« Connection: close\n\n ».
$postData."\n";
// Some debug for you my friend
print(«
Request:\n ».htmlentities($request)."");
if ($fp = fsockopen($host, $port))
{
if (fputs($fp, $request))
{
while(! feof($fp))
{
$res .= fgets($fp, 1024);
}
fclose($fp);
return $res;
}
}
}
$caractID=‹ 901938792 ›;
$userID=‹ 1231285 ›;
$apikey=‹ 16CkaZUFSYZEnfVMymXMs0nng8vcrZXX5y91wM2Tl4espQaWhtFtUfFLrJg5ql1o ›;
$host1=‹ api.eve-online.com ›;
$path1=’/char/CharacterSheet.xml.aspx’;
$arrPostvars1=array(
‹ characterID › => $caractID,
‹ userid › => $userID,
‹ apikey › => $apikey
);
$port1=80;
$referer1="";
$resultat=httpPostRequest($host1, $path1, $arrPostvars1, $port1=80, $referer1="");
echo $resultat; [/codebox]
Affichage de ce code : vous pouvez voir l’affichage ici test eve api
mais quand on teste en direct l’api avec le lien suivant il ne ressort pas la même chose.
Ce qui me parait logique pour l’instant, mais pourquoi en direct il ne m’affiche que le xml alors qu’avec le httprequest il me renvoi aussi les informations de connexion au serveur. bon encore c’est pas le plus gênant .
Car dans le code source de l’affichage php, dans la partie xml qui est renvoyé, au lieu de me fermer les balise xml directement, il me rajoute plein de a la fin du fichier.
Et la je comprend pas comment cela se fait que les 2 cas renvoient des informations différentes…
Deuxième partie [affichage]:
La deuxième partie, moins importante, ce serait de savoir comment faire avec un fichier xml pour qu’il s’affiche dans une page. j’ai entendu parler d’un feuille de style mais ce n’est pas un css. je vais regarder en détails mais si quelqu’un à l’information. B)
Merci d’avance