File_get_contents mais problème

Résolu
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>";

?>

2 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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 :
<?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.
2
Max
 
Comment dire simplement

MERCI !!!!!!!!!!

ça marche parfaitement
0