CURL 抓取页面失败但是我抓取网址 www.baidu.com,就可以成功。我想是因为原网站判读了来路,或者说什么什么……(我猜想的,也不知道还有什么其它原因没有)是不是要你们常说的伪造一个head  头。或者说什么什么的…………
大侠们,可以给点建义或者说小例子什么的。

解决方案 »

  1.   

    http://developer.51cto.com/art/200904/121739.htm
      

  2.   


    ....好吧,以3L的例子为例﹤?php
    // 初始化一个 cURL 对象
    $curl = curl_init();// 设置你需要抓取的URL
    curl_setopt($curl, CURLOPT_URL, 'http://cocre.com');// 设置header
    curl_setopt($curl, CURLOPT_HEADER, 1);// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 运行cURL,请求网页
    $data = curl_exec($curl);// 关闭URL请求
    curl_close($curl);// 显示获得的数据
    var_dump($data);
    $data中保存的就是对方的返回信息或者调试可以使用curl的命令行先测试#获得返回内容
    curl "http://www.baidu.com"#获得返回的header信息
    curl "http://www.baidu.com" -IHTTP/1.1 200 OK    
    Date: Mon, 13 Feb 2012 08:56:07 GMT
    Server: BWS/1.0
    Content-Length: 7701
    Content-Type: text/html;charset=gb2312
    Cache-Control: private
    Expires: Mon, 13 Feb 2012 08:56:07 GMT
    Set-Cookie: BAIDUID=524A910D97727321E8F96CE1540FBE7B:FG=1; expires=Mon, 13-Feb-42 08:56:07 GMT; path=/; domain=.baidu.com
    P3P: CP=" OTI DSP COR IVA OUR IND COM "
    Connection: Keep-Alive
    连续看了LZ好几个问题,貌似LZ目前缺乏相关的最基础知识...建议先放低学习难度...不要想一口吃成胖子
      

  3.   

    我返回的是这个,与你那个不一样给。
    HTTP/1.1 200 OK
    Date: Mon, 13 Feb 2012 09:25:44 GMT
    Server: BWS/1.0
    Content-Length: 7701
    Content-Type: text/html;charset=gb2312
    Cache-Control: private
    Expires: Mon, 13 Feb 2012 09:25:44 GMT
    Set-Cookie: BAIDUID=AB9A6F848A18B081721CC33721A2F56D:FG=1; expires=Mon, 13-Feb-42 09:25:44 GMT; path=/; domain=.baidu.com
    P3P: CP=" OTI DSP COR IVA OUR IND COM "
    Connection: Keep-Alive
      

  4.   

    不用完全一致..
    那你不用测试baidu了,测试你要访问的那个url呢?