我对 .Net HttpWebRequest 客户端(或 WebClient,给出类似结果)的性能有疑问。
如果我使用 HttpWebRequest 请求 html 页面(在本例中为 news.bbc.co.uk)并分析应用程序读取响应的速度(使用 HttpAnalyzer),这比浏览器慢得多( Firefox、Chrome、IE)请求相同的资源(清除所有缓存等)。 .Net 应用程序大约需要 1.7 秒,而浏览器需要 0.2 - 0.3 秒。
这纯粹取决于代码/应用程序的速度和效率,还是有任何其他因素需要考虑?
代码如下:
HttpWebRequest request = null;
Uri uriTest = new Uri("http://news.bbc.co.uk");
request = (HttpWebRequest)WebRequest.Create(uriTest);
request.Method = "GET";
request.KeepAlive = true;
request.Headers["Accept-Encoding"] = "gzip, deflate";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
最佳答案
我会插孔 Fiddler在中间,一个接一个地运行浏览器请求和 .NET 请求,并确保您真正得到您的想法。可能存在重定向或其他不正常的事情(可能浏览器正在预先附加“/”,而 .NET 等待 redir 等),这些不会立即可见。我在 .NET HTTP 客户端上构建了巨大的应用程序,但没有像您描述的那样 - 一定有其他事情在发生。
如果您在 URL 末尾添加“/”会怎样?
关于c# - .NET HttpWebRequest 速度与浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2048408/