0 votes

curl redirect to wrong page ?

J'utilise curl et je passe une url, avec page no=2 mais elle redirige vers la première page. J'ai besoin de votre aide. Merci de m'aider

Exemple :

Si j'ai réussi http://itunes.apple.com/us/genre/mobile-software-applications/id6018?mt=8&letter=A&page=2#page

il redirige vers= http://itunes.apple.com/us/genre/mobile-software-applications/id6018?mt=8&letter=A&page=1#page

<?php

$agent= 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL, "http://itunes.apple.com/us/genre/mobile-software-  applications/id6018?mt=8&letter=A&page=2#page");  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_HEADER, 0);  
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
if(curl_exec($ch) === false)
{
  echo 'Curl error: ' . curl_error($ch);
}
else{
  echo $output = curl_exec($ch);  
}
curl_close($ch);  
?>

mais il redirige toujours vers la première page, je n'obtiens pas la page 2 ou l'url donnée.

0voto

Pekka 웃 Points 249607

Essayez de supprimer la partie hachée de votre URL :

#page

de sorte que l'URL se présente comme suit :

curl_setopt($ch, CURLOPT_URL, "http://itunes.apple.com/us/genre/mobile-software-
applications/id6018?mt=8&letter=A&page=2");

(saut de ligne ajouté pour plus de lisibilité)

la partie dièse ne doit jamais être envoyée au serveur, elle est utilisée par le navigateur pour naviguer dans les différentes parties de la page.

Prograide.com

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.

Powered by:

X