public static string GetData1(string url)
{
System.GC.Collect();
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Proxy = null;
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
try
{
using (StreamReader reader = new StreamReader(stream))
{
result = reader.ReadToEnd();
}
}
finally
{
stream.Close();
}
resp.Close();
return result;
}
卡顿的地方都是在 HttpWebResponse resp = (HttpWebResponse)req.GetResponse();这个地方
你仅仅传url,慢,解释有很多种
比如 如果我是反爬虫,我就会判断一下header里面的内容,像爬虫的,我就会拖几秒再给你数据
请你把保证所有信息和 浏览器发出去的一样,用抓包工具抓一下你浏览器的请求都带了些什么信息过去,你request里面就放啥,然后再试试,是不是快起来了
又或者这个页面是从其它页面来的,带了什么id在请求里面,而你模拟的时候没有,鬼知道服务器做了什么耗时的查询......,
所以模拟就模拟得像一点
调用次数多吗?可能是因为正常浏览器访问是长连接,你这个相当于调用一次建立一次连接,在断开后还要等待2msl的时间访问方端口才会释放,所以猜测可能是端口被用尽,可以设置keepalive,然后只create一次,以后不要再create了只修改uri