用file_get_contents和fopen都没能打开正确的目标网页,应该有反采集怎么办啊?

解决方案 »

  1.   

    www.163.com 自己去采下就知道了
      

  2.   


    你之前的方法服务器检测不到你的IP?怎么做到的?愿闻其详。
    就算你伪装发送了http头,ip地址也是无法伪造的。
      

  3.   

    检测不到;
    而且我还echo出了内容都检测不到IP访问
      

  4.   

    http://www.zhibo001.com/ua.php你抓取这个目标地址试试如果是检测不到你的ip,对方获取IP的方式那就是有问题。然后把我用的代码发一下,看对你有没有帮助
    function curl_file_get_contents($durl){

    //简单模拟百度蜘蛛
    $ip = '202.108.249.188'; 
    $user_agent = 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)';
    $headers['REMOTE_ADDR'] = $ip; 
    $headers['CLIENT-IP'] = $ip;  
    $headers['X-FORWARDED-FOR'] = $ip; 
    $headerArr = array();
    foreach( $headers as $n => $v ) {  
    $headerArr[] = $n .':' . $v;   
    }


    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $durl);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 3600);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    $referer = 'http://www.baidu.com/';
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArr);  //伪装ip,如果对方用"REMOTE_ADDR"取ip,则无效 
    $r = curl_exec($ch);
    curl_close($ch);
    return $r;
    }
    echo curl_file_get_contents('http://www.163.com/');
      

  5.   


    我用的是量子恒道的统计,
    用file_get_contents和fopen方式打开远程后,然后在echo出全部内容,都无法检测到有IP访问
      

  6.   

    $ch = curl_init();
     报错
      

  7.   

    按理说echo后统计的js代码也已经运行了,但是如果统计程序限制了统计来源,比如只统计访问 163.com 的流量,就会屏蔽掉你的访问。我知道CNZZ就有这个功能。这是为了防止诱导点击。
      

  8.   


    需要curl库支持,请自行到 php.ini 打开不过估计打开也没用你这种就压根不能这样搞,用iframe打开目标页面可以统计到。
      

  9.   

    以前听说过伪php头好象涉及这方面的东西?不知可行否啊?
    iframe出来的页面没有控制权啊。。
      

  10.   

    一般的程序都能检测出是iframe方式访问的网页吧?
      

  11.   

    其实我只想做一件事,那就是用php程序来实现完全虚拟一个新的用户访问一个页面。
    IP是否相同和通过缓存判断是否是新用户都放一边,我只想有没有办法实现第一句话呢?
      

  12.   

    为什么不能呢?如果在一台电脑上不就是换个IP地址,清掉缓存,这不就是一个新用户访问呢?为什么php解决不了呢?
      

  13.   

    echo 了 你说爬了没有?
      

  14.   

    这个问题,php表示无能为力。默哀~~
      

  15.   

    我没有要php来实现不同IP哦,我只要PHP来访问一个页面,要目标页能判断出一个用户访问了就行。
      

  16.   

    哥们,想到一点,你在 hosts 文件里面配置一下那个域名,访问本机然后再echo,看能不能统计到。如果可以,那统计代码也算是够贱的了,哈哈
      

  17.   

    在哪改哦?
    apache环境下的改哪?把配置文件里的主机名全部替换掉了还是老样子哦
      

  18.   

    C:\WINDOWS\system32\drivers\etchttp://baike.baidu.com/view/597330.htm
      

  19.   

    经试验,可以绕过CNZZ的来源判断,刷统计完全没问题了
      

  20.   

    悲剧了 我改了还是不行也重启了php,就电脑没重启了。。
    难道还要重启电脑?
    你是IIS的还是apache的?
      

  21.   

    apache
    wamp搭建的环境记住是改系统盘的文件,并非apach的什么配置
    C:\WINDOWS\system32\drivers\etc\hosts这样是在本地可以刷统计工具的pv
      

  22.   

    跟你的是一样哦 也是wap 但我确实改的C:\WINDOWS\system32\drivers\etc\hosts在重启电脑下。。
    刷IP有办法不?  : )  ?
      

  23.   


    ADSL断线重拨?那也只是有限的几个。
    IP问题,没指望了。如果这样费时费力,还不如去买流量,哈哈
      

  24.   

    先不批量,php可以设置代理在fopen不?