Uri targetUri = new Uri(targetURL);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string data = reader.ReadToEnd();
response.Close();
为什么上面的代码可以正常工作而下面的却不行? 请注意,我在以下代码中提前关闭了响应。
Uri targetUri = new Uri(targetURL);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
response.Close();
string data = reader.ReadToEnd();
请您参考如下方法:
关闭响应也会关闭响应流...因此 StreamReader 不再有任何可读取的内容。
来自 WebResponse.Close 的文档:
The Close method cleans up the resources used by a WebResponse and closes the underlying stream by calling the Stream.Close method.
