java - fater网页源提供者

标签 java httprequest html apache-commons-httpclient http-unit

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

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

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

最佳答案

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

  • 如果要处理大量连接,请使用 Java NIO
  • 如果您只处理到少量主机/服务器的大量传输,请使用普通的 Java IO

关于java - fater网页源提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742886/

相关文章:

java - 如何实现再次播放功能?

java - 日期格式失败

ios - AFNetworking 离线队列

javascript - Chrome 中未触发事件

java - 使用 OWLAPI 访问耶拿 TDB

java - 添加/删除请求 URL 的参数

java - Http post 请求 NullPointerException OutputStream

javascript - 如何使用 javascript 将 HTML 表单的值发布到新的 HTML 页面

html - 超快的屏幕抓取技术?

java - 如何从 Java 设置 JavaToRascal 的搜索路径