2

我正在尝试使用代理在 java 中提取页面源。

我使用了 httpclient、httpunit 和 HttpURLConnection,当我在没有代理的情况下使用页面源时,所有这些都需要 5 秒,但我使用代理,然后单个页面需要 12-15 秒。

有什么方法可以提高速度或提供快速页面源的其他类。

4

1 回答 1

1

您需要首先确定问题出在哪里:是您从中提取页面的服务器真的很慢,还是您使用的代理真的很慢(或两者兼而有之)?如果您在命令行中使用 wget(甚至可能是 curl)之类的工具,它应该会向您显示有关页面下载时间的统计信息——通过代理并绕过代理。如果这些时间与您的代码显示的时间相同,那么您无法优化。但是,如果您看到差异,那么您可以考虑使用其他方式在代码中拉取页面。作为一般经验法则:

  • 如果您要处理大量连接,请使用 Java NIO
  • 如果您正在处理仅向少数主机/服务器的大量传输,请使用普通 Java IO
于 2011-04-21T10:44:50.783 回答