2012-07-12 204 views
0

我正在使用Webclient类下载网站HTML。代码很简单:无法从传输连接读取数据:建立的连接被主机中的软件中止

WebClient client = new WebClient(); 

      client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); 

      string web = client.DownloadString(url); 

但是有时我会得到这个错误消息,我不能再现。它似乎随机发生:

System.IO.IOException: Unable to read data from the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine 

我不知道这个错误意味着什么,或者我可以如何解决它。任何猜测?

+0

你是否试过在使用语句中包装WebClient? (不知道是否WebClient是一次性的或不...) – 2012-07-12 18:30:47

+0

可能重复[建立的连接被您的主机中的软件中止](http://stackoverflow.com/questions/1608431/an-established-connection-被软件在你的主机中断) – David 2012-07-12 18:31:59

+0

@RobertH我处理这个类,我忘了粘贴这部分代码。 – broke 2012-07-12 18:39:13

回答

-1

首先强制转换为NetException(或类似的那样)来跟踪异常消息。 可能是发生这种情况的多种原因(例如,非端口方法:))。 如果网络例外中没有任何特殊情况,请检查防火墙或代理。 如果您正在使用代理,请尝试通过代码或通过配置来设置它。

相关问题