下面这个是我写的一个函数:
//得到远程页面内容
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
//得到远程页面内容
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
循环太多了,是机器都吃不消的。多用using。
把这个改为长一些 request.Timeout = 20000;//超时时间:20秒
试试看
http://open.taobao.com/support/question_detail.htm?id=412