C# Web抓取网页内容资源不释放
public String getContent(String url)
{
WebRequest req = WebRequest.Create(url);
req.Method = "GET";
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
String s = reader.ReadToEnd();
stream.Close();
reader.Close();
//req.KeepAlive = false;
resp.Close();
req.Abort();
if (resp != null)
{
resp.Close();
}
if (req != null)
{
req.Abort();
}
System.GC.Collect();
Console.WriteLine("data");
return s;
}
再次调用时
基础连接已经关闭: 接收时发生错误。
=============================================================================
查找MSDN发现建议使用webclient
于是Fail again!
public string getClientContent(String url)
{
string result = "false";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.TryParseAdd("*/*");
HttpResponseMessage res = client.GetAsync(string.Format(url)).Result;
if (res.StatusCode == System.Net.HttpStatusCode.OK)
{
result = res.Content.ReadAsStringAsync().Result;
}
}
Console.WriteLine(result);
return result;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论