System.Net.WebException:基础连接已关闭:接收时发生意外错误
-
09-09-2019 - |
题
我试图创建在C#中的方法返回从URL中的网页的HTML内容的字符串。我曾尝试几种不同的方式,但我得到的错误的 System.Net.WebException:基础连接已关闭:上一个接收时发生意外错误
在以下的远程服务器上运行时,本地工作正常,但得到上述错误
public static string WebPageRead(string url)
{
string result = String.Empty;
WebResponse response = null;
StreamReader reader = null;
try
{
if (!String.IsNullOrEmpty(url))
{
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = reader.ReadToEnd();
}
}
catch (Exception exc)
{
throw exc;
}
finally
{
if (reader != null)
{
reader.Close();
}
if (response != null)
{
response.Close();
}
}
return result;
}
解决方案 2
的答复谢谢,这个问题是由于远程服务器上的DNS的问题!只是为了确认,我去与端部下面的代码:
public static string WebPageRead(string url)
{
string content = String.Empty;
if (!String.IsNullOrEmpty(url))
{
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
if (request != null)
{
request.Method = "GET";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
try
{
using (WebResponse response = request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
content = reader.ReadToEnd();
}
}
}
}
catch (Exception exc)
{
throw exc;
}
}
}
return content;
}
其他提示
这可能不是问题,但请尝试以下操作:
public static string WebPageRead(string url)
{
if (String.IsNullOrEmpty(url))
{
return null;
}
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
if (request == null)
{
return null;
}
request.Method = "GET";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
using (WebResponse response = request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader =
new StreamReader(stream, Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
}
}
我赞同表明您与一个已知良好的URL尝试这个早期的答案。我要补充一点,你应该尝试这与已知良好的HTTP URL 1.1,评论指出,设置了版本为1.0的线。如果这样的作品,那么它缩小了下来增色不少。
过这样的问题之前,通过用所述问题的计算机上在IE打开URL解决。 IE然后询问您是否要将该网址添加到安全站点列表中。添加它,它适用于该URL。
这仅仅是可能的原因之一。认真了很多其他问题可能导致此。除了上面描述的问题,最好的方法我发现解决这是刚捕获异常和重试请求。
不隶属于 StackOverflow