下面这个是我写的一个函数:
    //得到远程页面内容
    private string GetHttpPage(string url)
    {
        try
        {
            WebResponse response = null;
            Stream resStream = null;
            StreamReader sr = null;
            WebRequest request = WebRequest.Create(url);
            request.Timeout = 10000;//超时时间:10秒
            try
            {
                response = request.GetResponse();
                resStream = response.GetResponseStream();
                sr = new StreamReader(resStream, System.Text.Encoding.GetEncoding("GB2312"));
                return sr.ReadToEnd();
            }
            catch (System.Net.WebException e1)
            {                
                return "";
            }
            catch (Exception e2)
            {               
                return "";
            }
            finally
            {
                try
                {
                    if (response != null)
                    {
                        response.Close();
                        response = null;
                    }
                    if (resStream != null)
                    {
                        resStream.Close();
                        resStream = null;
                    }
                    sr = null;
                }
                catch { }
            }
        }
        catch (Exception e3)
        {            
            return "";
        }
    }在一个循环里连续调用,当调用到300次以后时,就都出错了,都是下面的错误信息:
System.Net.WebException: 远程服务器返回错误: (507) Insufficient Storage。     在 System.Net.HttpWebRequest.GetResponse()     在 GetHttpPage(String url)请问,是什么原因导致这个问题出现?要如何避免这个错误?net网络web

解决方案 »

  1.   

    在一个循环里连续调用,当调用到300次以后时,就都出错了,都是下面的错误信息:
    循环太多了,是机器都吃不消的。多用using。
      

  2.   

    @guwei4037:这个和using有什么关系?是服务器返回的报错
      

  3.   

     request.Timeout = 10000;//超时时间:10秒
    把这个改为长一些 request.Timeout = 20000;//超时时间:20秒
     试试看
      

  4.   

    淘宝Open API每分钟访问的次数限制400次,5000次/天,估计直接爬页面也有这样的限制。
    http://open.taobao.com/support/question_detail.htm?id=412
      

  5.   

    那你还纠结什么,每次请求中间sleep一小段试试,1分钟不要超过300次。