为什么我使用浏览器对服务器发送get请求很快,但是利用C#编写的http请求运行运行就会卡顿很长时间继续访问

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