我目前正在从事一个从 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/