Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基础连接已关闭:接收时发生意外错误。从Url下载Html代码_C#_Httprequest - Fatal编程技术网

C# 基础连接已关闭:接收时发生意外错误。从Url下载Html代码

C# 基础连接已关闭:接收时发生意外错误。从Url下载Html代码,c#,httprequest,C#,Httprequest,我使用以下代码从url下载字符串html: HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(currentUrl); httpWebRequest.KeepAlive = true; httpWebRequest.Timeout = 3600000; httpWebRequest.UserAgent = "Mozilla / 5.0(Windows NT 6.1; WOW64; rv: 30.0) Gecko /

我使用以下代码从url下载字符串html:

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(currentUrl);
httpWebRequest.KeepAlive = true;
httpWebRequest.Timeout = 3600000;
httpWebRequest.UserAgent = "Mozilla / 5.0(Windows NT 6.1; WOW64; rv: 30.0) Gecko / 20100101 Firefox / 30.0";
HttpWebResponse httpWebResponse = httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream());
currenturlContent = streamReader.ReadToEnd();

我运行一个循环,从一个网站的多个URL获取html。我认为问题在于网站安全。它可以在第一次读取html,然后就出错了

错误是:

基础连接已关闭:接收时发生意外错误

这是我的循环
而(currentPage一旦使用streamReader,您应该尝试关闭它:
streamReader.close();

请参阅此链接:

…问题总是在于,开发人员调用了
GetResponseStream()
方法,但随后未能调用
Close()
。结果是.NET无限期地保持对象的活动状态,这会导致后续请求最终阻塞每个主机的默认连接限制


您能在导致错误的循环上下文中显示代码吗?请发布一个。
                        HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(currentUrl);
                        httpWebRequest.KeepAlive = true;
                        httpWebRequest.Timeout = 3600000;
                        httpWebRequest.UserAgent = "Mozilla / 5.0(Windows NT 6.1; WOW64; rv: 30.0) Gecko / 20100101 Firefox / 30.0";
                        HttpWebResponse httpWebResponse = httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                        StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream());
                        currenturlContent = streamReader.ReadToEnd();
                    }


                }