file_get_contents和CURL都测试了,获取不到内容,IE下可以正常看到源码。求解
上个地址,求高手
www.vodtw.com/Html/Book/2/2457/Index.html

解决方案 »

  1.   

    >wget http://www.vodtw.com/Html/Book/2/2457/Index.html
    --2012-11-22 21:38:11--  http://www.vodtw.com/Html/Book/2/2457/Index.html
    Resolving www.vodtw.com (www.vodtw.com)... 72.20.46.34
    Connecting to www.vodtw.com (www.vodtw.com)|72.20.46.34|:80... connected.
    HTTP request sent, awaiting response... 307 Temporary Redirect
    Location: /Html/Book/2/2457/Index.html [following]
    --2012-11-22 21:38:12--  http://www.vodtw.com/Html/Book/2/2457/Index.html
    Connecting to www.vodtw.com (www.vodtw.com)|72.20.46.34|:80... connected.
    HTTP request sent, awaiting response... 307 Temporary Redirect
    Location: /Html/Book/2/2457/Index.html [following]
    --2012-11-22 21:38:12--  http://www.vodtw.com/Html/Book/2/2457/Index.html
    Connecting to www.vodtw.com (www.vodtw.com)|72.20.46.34|:80... connected.
    HTTP request sent, awaiting response... 200 OK看得明白吧?
      

  2.   

    虽然懂点http协议,还是不懂,求解释重定向2次curl就抓不到了?
      

  3.   

    用 get_headers 观察一下
    里面有很多 Set-Cookie:LDIISWALL8.3= ;PATH=/ ;DOMAIN=WWW.VODTW.COM
    给 curl 添加 CURLOPT_COOKIEJAR 参数后,即可正常抓取
    HTTP/1.1 307 Temporary Redirect
    307临时重定向
    暂时驻留在不同的URI请求的资源。由于重定向可以被改变的机会,为将来的请求,客户端应该继续使用Request-URI。这个响应是可缓存的,如果一个Cache-Control或Expires头域。
    临时URI应该是“位置”字段中的响应。除非请求方法是HEAD,响应实体应该包含一个简短的超文本注意以超链接到新的URI(S),因为许多pre-HTTP/1.1用户代理不明白307的状态。因此,本说明的应该包含一个用户的新的URI上重复原始请求所必需的信息。
    如果收到的307状态代码以外的GET或HEAD请求,用户代理必须不能自动重定向请求,除非它可以由用户确认,因为这可能会改变在何种情况下发出请求。
    google 翻译
      

  4.   

    $cookiejar = realpath('cookie.txt');$url = 'http://www.vodtw.com/Html/Book/2/2457/Index.html';$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    //curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
    $content = curl_exec($ch);
    echo $content;
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>豪门不承欢:慕少,请自重! - 品书网 - 最新章节|全文阅读|免费阅读|下载|</title>
    <meta HTTP-EQUIV="Window-target" content="_top" />
    .....
      

  5.   

    function curlGet($url) {  
            $ch = curl_init();  
            curl_setopt($ch, CURLOPT_URL, $url);  
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
            curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'LDIISWALL8.3= ;PATH=/ ;DOMAIN=WWW.VODTW.COM');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   
     return curl_exec($ch);  
    }  
    $url = 'http://www.vodtw.com/Html/Book/2/2457/Index.html';  
    echo curlGet($url);  
    PHP代码贴出,感谢各位的解答,谢谢