File_get_contents mais problème
Résolu
Max
-
Max -
Max -
Bonjour,
Je cherche à charger en php via file_get_contents (ou autre) le contenu d'un page sur battle.net :
https://starcraft2.com/en-us/profile/2/1/263761
le problème c'est que j'ai droit à une redirection de publicité et donc forcement je charge le code source de la page de pub. Cela n'est pas systématique en naviguant simplement.
Sauriez vous m'aider (merci)
exemple de source
<?php
$lien="https://starcraft2.com/en-us/profile/2/1/263761";
$http_page = file_get_contents($lien);
$http_page_ = htmlspecialchars($http_page);
echo "<pre>$http_page_</pre>";
?>
Je cherche à charger en php via file_get_contents (ou autre) le contenu d'un page sur battle.net :
https://starcraft2.com/en-us/profile/2/1/263761
le problème c'est que j'ai droit à une redirection de publicité et donc forcement je charge le code source de la page de pub. Cela n'est pas systématique en naviguant simplement.
Sauriez vous m'aider (merci)
exemple de source
<?php
$lien="https://starcraft2.com/en-us/profile/2/1/263761";
$http_page = file_get_contents($lien);
$http_page_ = htmlspecialchars($http_page);
echo "<pre>$http_page_</pre>";
?>
2 réponses
Salut.
Il va falloir utiliser cURL.
Tu devras faire une première requête, sans récupérer le résultat, mais qui enregistra les cookies dans un fichier.
La seconde requête transmettra les cookies afin de ne plus avoir la redirection : tu pourras récupérer le code source.
Voilà comment faire :
N'oublie pas de créer le fichier cookies.txt et de mettre les droits en écriture.
Il va falloir utiliser cURL.
Tu devras faire une première requête, sans récupérer le résultat, mais qui enregistra les cookies dans un fichier.
La seconde requête transmettra les cookies afin de ne plus avoir la redirection : tu pourras récupérer le code source.
Voilà comment faire :
<?php $url = "https://starcraft2.com/en-us/profile/2/1/263761"; $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_COOKIEJAR, "cookies.txt"); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_exec($curl); unset($curl); $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookies.txt"); $resultat = curl_exec($curl); echo '<pre>'.htmlspecialchars($resultat).'</pre>'; ?>
N'oublie pas de créer le fichier cookies.txt et de mettre les droits en écriture.