我正在使用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页或给定的网址。
答案 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");
(为了便于阅读,添加了换行符)
哈希部分绝不能发送到服务器,浏览器会使用它来导航到页面的某些部分。