2010-10-20 135 views
3

如果此问题较早提出并且它是简单的问题,我表示歉意。使用curl或wget命令行下载文件

我想从http网站下载文件到我的unix机器上,使用命令行。我使用用户名和密码登录到此网站。

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

说,如果我粘贴到浏览器的这个环节,我得到的是打开了,问我是否要保存zip文件的盒子,它链接到(说xyz.zip)。这些文件的大小约为1GB。

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

感谢您的帮助,

回答

5

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

我不知道wget,但有一个curl尝试(-v作为详细命令,所以你可以按照请求/响应头):

卷曲-v “http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile= & workspace.id = 4180 &集编号= 76999” -H“的Accept-Encoding :压缩程序”> /tmp/yourZippedFile.gz

如果上述情况并非如此,也许你给一个真实的站点例子,所以我们可以在一个具体的例子按照你的问题。没有看到HTTP流量很难说。

+1

谢谢!我需要下载ZIP并将编码更改为“Accept-Encoding:zip”,并且工作完美。 – MikeSchinkel 2012-08-09 02:08:57

1

FYI窗户卷曲,我必须添加的User-Agent:

卷曲-H “接受编码:gzip,紧缩” -H“的User-Agent:Mozilla的/ 5.0(Windows NT的5.1 )” www.google.com> test3.gz

因为没有用户代理它不会给我一个gzip文件

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