J'envisage d'utiliser PHP pour un besoin simple. Je dois télécharger un contenu XML à partir d'une URL, pour cela je dois envoyer une requête HTTP GET à cette URL.
Comment puis-je le faire en PHP ?
J'envisage d'utiliser PHP pour un besoin simple. Je dois télécharger un contenu XML à partir d'une URL, pour cela je dois envoyer une requête HTTP GET à cette URL.
Comment puis-je le faire en PHP ?
À moins que vous n'ayez besoin de plus que le contenu du fichier, vous pourriez utiliser file_get_contents
.
$xml = file_get_contents("http://www.example.com/file.xml");
Pour des requêtes GET/POST plus avancées, vous pouvez installer la bibliothèque CURL (http://us3.php.net/curl) :
$ch = curl_init("REMOTE XML FILE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
http_get
devrait faire l'affaire. Les avantages de http_get
sur file_get_contents
incluent la possibilité d'afficher les en-têtes HTTP, d'accéder aux détails des requêtes et de contrôler le délai de connexion.
$response = http_get("http://www.example.com/file.xml");
N'oubliez pas que si vous utilisez un proxy, vous devez faire une petite astuce dans votre code php :
(PROXY WITHOUT AUTENTICATION EXAMPLE)
<?php
$aContext = array(
'http' => array(
'proxy' => 'proxy:8080',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($aContext);
$sFile = file_get_contents("http://www.google.com", False, $cxContext);
echo $sFile;
?>
Selon que votre configuration php autorise ou non l'ouverture des URL, vous pouvez aussi simplement ouvrir l'URL avec les arguments get dans la chaîne (comme par exemple http://example.com?variable=value )
Edit : En relisant la question, je ne suis pas certain que vous cherchiez à passer des variables ou non - si ce n'est pas le cas, vous pouvez simplement envoyer la requête fopen avec les paramètres suivants http://example.com/filename.xml - vous pouvez ignorer la partie "variable=valeur".
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.