这是我的 C# 代码。
WebClient client = new WebClient();
while (true) {
html = client.DownloadString("http://google.com");
Console.WriteLine(string.Format("\tSize: {0}", html.Length));
}
获得第一个结果大约需要 9 秒。然后每次大约需要 3 秒。
当我使用 Java 时,它只需要不到 1 秒。
为什么您认为使用 C# 会这么慢?我该如何改进它?
请您参考如下方法:
我注意到使用 WebClient 或 WebRequest 时第一个请求总是需要很长时间... 我用我构建的 Socket-Http 类执行相同的请求,这不需要时间。
但是在第一个请求之后它应该会更快,很好。
找到问题的解决方案
尝试明确设置代理。如果您没有定义代理,则 HttpRequest 类将花时间搜索代理。一旦它找到(或没有)找到一个,它将在应用程序的生命周期中使用该信息,从而加快后续请求。
设置request.Proxy = null;
