这个有关问题CSDN不能搞定就没人可以搞定了

php中文网
发布: 2016-06-13 13:40:46
原创
972人浏览过

这个问题CSDN不能搞定就没人可以搞定了
本人做了一个采集。 在本地测试,可以正常采集。

放在服务器上,也可以采集。 但是。。。。

目标站,内容更新后,,,服务器上,要过 好几个小时才能采。 (有时要隔一天)

而本地,不用等,只要目标站有数据,就可以采到。


感觉就像采数据的时候,网页没有刷新一样。  




是 服务器 问题? 还是程序不够好?(程序上,每次刷新的时候,都是重新载入页面! ,还加了 随机字符),给公司的技术也看过了,都说程序没问题


 我问了空间商,他说要我报错过去, 我怎么报? 请高手中的高手帮忙解决! 

到底是什么问题?

------解决方案--------------------

探讨

QQ288801 谢谢 帮我 看下

------解决方案--------------------
你可以把采集部分的代码贴出来。
------解决方案--------------------
服务器有缓存?
------解决方案--------------------
对方肯定是把你的ip列入黑名单了,你可以用adsl的连接方式,定时重连网络,这样你反复更换ip,对方服务器就应付不过来了,给你一段定时重连adsl的脚本
PHP code



$i=1;
while(true)
{
    sleep(120);
    if(cutNet()){
        sleep(10);
        if(connectNet())
        {
            echo "成功连接 " .$i." 次\r\n";
        }
        else
        {
            echo "未连接 \r\n";
        }
    } else {
        echo "未成功断开连接\r\n"; 
    }
    $i++;
}


/**
 * ADSL拨号
 */
function connectNet($cNum=0)
{
    exec("rasdial.exe ADSL adsl_name adsl_pwd",$out1,$ars1);
    print_r($out1);
    if (preg_match('/已连接 ADSL/',$out1[3]) or preg_match('/已连接 ADSL/',$out1[4]))
    {
        return true;
    }else{
        return false;
    }

}

function cutNet()
{
    if(isConnect()){
        exec("Rasdial ADSL /disconnect",$out1,$ars1);//断线
        if (preg_match('/已完成/',$out1[0]))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        return true;
    }

}

function isConnect()
{
    exec("Rasdial",$out1,$ars1);//断线
    if($out1['0']=='没有连接'){
        echo "没有找到连接。。。\r\n";
        return false;
    }
    return true;
}
<br><font color="#e78608">------解决方案--------------------</font><br>服务器固定IP怎么用ADSL?<br>用代理吧<br>
登录后复制
探讨
对方肯定是把你的ip列入黑名单了,你可以用adsl的连接方式,定时重连网络,这样你反复更换ip,对方服务器就应付不过来了,给你一段定时重连adsl的脚本

PHP code



$i=1;
while(true)
{
sleep(120);
if(cutNet()){
sleep(10);
if(connectNet())
……

------解决方案--------------------
探讨

我是 虚拟主机。 日本的IP... 第一次 在这个服务器上 做采集。。。他就知道?

还有就是 虚拟主机 上 要怎么代理?

------解决方案--------------------
function isConnect()
{
exec("Rasdial",$out1,$ars1);//断线
if($out1['0']=='没有连接'){
echo "没有找到连接。。。\r\n";
return false;
}
return true;
}


------解决方案--------------------
从描述来看,你的本机和你的服务器,不是在一个地区的吧?我是指省市地区。

那么也有可能是CDN导致的,不同的省市运营商,虽然访问同一个域名,但访问的主机和内容会出现不一致的情况,CDN的同步需要时间。

想解决这个问题,在你的本地搞个服务器就行了。

------解决方案--------------------
要采集国内的站点,不管从哪个角度说都适合使用国内的主机.再烂也不能烂过功夫墙外的机房了.
好歹咱们也是个局域网啊

探讨

引用:
从描述来看,你的本机和你的服务器,不是在一个地区的吧?我是指省市地区。

那么也有可能是CDN导致的,不同的省市运营商,虽然访问同一个域名,但访问的主机和内容会出现不一致的情况,CDN的同步需要时间。

想解决这个问题,在你的本地搞个服务器就行了。


也就是 换个服务器 是吗?
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号