curl重定向到错误的页面?

时间:2010-04-06 12:12:28

标签: php curl

我正在使用curl,我正在传递一个url,页面号= 2,但它重定向到第一页。我需要你的帮助。请帮帮我

示例:

如果我通过http://itunes.apple.com/us/genre/mobile-software-applications/id6018?mt=8&letter=A&page=2#page

重定向到= 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);  
?>

但它总是重定向到第一页,我没有收到第2页或给定的网址。

1 个答案:

答案 0 :(得分:0)

尝试从您的网址中删除散列部分:

#page

以便URL看起来像这样:

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

(为了便于阅读,添加了换行符)

哈希部分绝不能发送到服务器,浏览器会使用它来导航到页面的某些部分。