java - 从存储库下载 tarball

标签 java download web-scraping wget sourceforge

我目前正在从事一个从 SourceForge 抓取源代码的项目。 我想从代码存储库下载 tarball。

示例链接如下: http://wurfl.cvs.sourceforge.net/viewvc/wurfl/?view=tar

我在下载时遇到的问题是,我无法使用常规的 URLConnection、HttpClient、HtmlUnit、Jsoup 等 API 来下载文件。指定的链接不包含任何文件名或扩展名,这使得下载过程更加复杂。

你能建议一种方法吗?如果给定一组 tarball 链接作为参数,我应该能够将它们下载到我的磁盘上?另外,我可以使用 wget 下载它。有没有一种方法可以在 Windows 中用 Java 以编程方式执行此操作?

最佳答案

在您继续努力之前,请仔细阅读 Sourceforge Terms of Use页。如果您不理解 ToS,请联系 Sourceforge 并询问他们是否允许您执行您的提议。


The problems i faced while downloading is that, I am unable to use conventional url, http, htmlunit, jsoup apis etc to download the file.

您的假设不正确。

您可以使用诸如标准 HttpURLConnection API 或 Apache HttpClient API 之类的 API 来执行此类操作。如果它不起作用,那是因为

  • 您做错事了(例如,您没有将 Java 应用配置为使用本地 HTTP 代理),或者
  • Sourceforge 正在使用一些技术手段来阻止您这样做;查看服务条款。

如果您发布一些有关尝试这些方法时发生的情况的详细信息,也许我们可以为您提供帮助。

(HtmlUnit 和 Jsoup 可能不合适,因为它们以 HTML 内容为目标。)

The specified link does not contain any filename or extension, this makes the download process even more complicated.

您可以从响应 header 中获取源文件名和/或内容类型。有关详细信息,请参阅 HTTP 规范。

关于java - 从存储库下载 tarball,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6085327/

相关文章:

gwt - 用户如何在客户端下载文件(Google Web Toolkit)

java - 如何使用 Java 从 Internet 下载和保存文件?

python - 使用 SPLIT 创建 HTML 列表

javascript - 从 CLI 或 Web 调用时 PhantomJS 挂起

Java 小程序无法访问同一网络服务器上的非公共(public)文件

java - 创建具有多个客户端的服务器

频繁修改的 Java(并发)HashMap 性能

java - 为非 .class 文件创建 jar 文件

java - 如何从输入流文件中获取输入流?

php - 简单的 HTML DOM 解析器和 Web 浏览器返回不同的 HTML