Home  >  Article  >  Backend Development  >  这个有关问题CSDN不能搞定就没人可以搞定了

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

WBOY
WBOYOriginal
2016-06-13 13:40:46832browse

这个问题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的同步需要时间。

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


也就是 换个服务器 是吗?
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn