如何卷曲以从重定向链接中提取有效的.zip文件

时间:2019-05-07 11:35:02

标签: bash curl

我正在尝试自动化数据下载过程。为此,我的目标是从重定向链接中提取(使用bash命令).zip,该链接可以在此处显示:https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303

我已经看到人们建议将带有-L的{​​{1}}标记用于重定向,但是它似乎不适用于我的情况。我尝试过的特定命令是: curl

命令curl -L -o output.zip https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip显示提取的.zip文件实际上是file output.zip。另一方面,单击重定向链接(在HTML document text命令中使用)将通过浏览器自动下载提取的文件夹。

任何有关我应该尝试的想法(无论是否可行)的想法,技巧或建议,将受到高度赞赏!

2 个答案:

答案 0 :(得分:1)

您可以在Linux上使用wget下载该文件

$ wget https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip
$ unzip Sambanis_Aug_06.zip
Archive:  Sambanis_Aug_06.zip
inflating: Sambanis (Aug 06).dta
inflating: Sambanis Appendix (Aug 06).pdf

答案 1 :(得分:1)

如果使用--verbose选项执行curl,则可以看到这是与Cookie相关的问题。 Cookie引擎需要启用。您可以按以下方式下载所需的文件:

curl -b cookies.txt -L https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip -o test.zip

-b选项提供的文件是否不存在并不重要。我们只需要激活cookie引擎即可。

有关更多信息,请参考Send cookies with curlSave cookies between two curl requests