日期:2014-05-18  浏览次数:20707 次

数据抓取问题,本地正常,上传到服务器超时
用MSXML2.XMLHTTP组件作的一个数据抓取的小程序
C# code
MSXML2.XMLHTTP xmlhttp = new MSXML2.XMLHTTPClass();
        
        for (int i = 0; i < url.Count; i++)
        {
            xmlhttp.open("POST", url[i].Site+webaddre, true, null, null);
            //xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=gb2312");
            xmlhttp.send(null);
            Num num = null;

            if (xmlhttp.readyState == 4)
            {
                string str = string.Empty;
                if (url[i].Name == "百度")
                    str = Encoding.Default.GetString((byte[])xmlhttp.responseBody);
                else
                    str = xmlhttp.responseText;

                MatchCollection maction = Regex.Matches(str, url[i].Patter);
                
                if(maction[0].Value != null)
                    num = new Num(url[i].Name,maction[0].Value,"0");
                else
                    num = new Num(url[i].Name, "没抓到", "0");

                cont.Add(num); 
            }
            else
            {
                num = new Num(url[i].Name, "抓取超时","0");
                cont.Add(num);
                //return;
            }

本地正常,可以抓到想要的数据,可上传到服务器后全部超时

------解决方案--------------------
给我点分吧.我想问问题,但是没有分了,他们高手分很多的.照顾一下新手吧..
------解决方案--------------------
先找原因,程序异常?网络差?还是别的。。。
------解决方案--------------------
会不会是服务器设置的问题,你先测试你的xmlhttp对象建立成功没
------解决方案--------------------
你本地机的安全级别的问题吧