使用curl或wget命令行下载文件

时间:2010-10-20 17:56:47

标签: http command-line curl download wget

如果早些时候提出这个问题并且问题很简单,我道歉。

我正在尝试使用命令行将http网站上的文件下载到我的unix机器上。我使用用户名和密码登录到该网站。

说我有这个链接(不是工作链接) http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999

如果我在浏览器中粘贴此链接,我会打开一个框,询问我是否要保存链接到的zip文件(例如xyz.zip)。这些文件的大小约为1GB。

我希望能够使用命令行将此URL的zip文件放到我的unix机器上。我尝试使用wget和curl与上面的URL(提供用户名和密码)。我得到的是html表单,但不是zip文件。有没有办法可以获得这种URL链接到的zip文件?我不知道文件所在机器上的目录结构是什么。

感谢您的帮助,

2 个答案:

答案 0 :(得分:5)

我猜你没有通过 Accept-Encoding 标头。默认情况下,浏览器会传递它,使用CLI工具必须自己触发这些选项

我不知道wget但是尝试使用curl(-v作为详细命令,因此您可以按照请求/响应标头):

curl -v“http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999”-H“Accept-Encoding:gzip” > /tmp/yourZippedFile.gz

如果不是上述情况,那么您可以提供一个实际的示例,以便我们可以通过具体示例来解决您的问题。没有看到HTTP流量就很难说。

答案 1 :(得分:1)

对于Windows curl的FYI,我必须添加一个User-Agent:

  

curl -H“Accept-Encoding:gzip,deflate”-H“User-Agent:Mozilla / 5.0(Windows NT 5.1)”www.google.com> test3.gz

因为没有User-Agent,它不会给我一个gzip文件

  

卷曲-H“接受编码:gzip,deflate”www.google.com>测试

相关问题