【问题标题】:Get direct link to file from Bash? [closed]从 Bash 获取文件的直接链接? [关闭]
【发布时间】:2018-03-01 13:57:58
【问题描述】:

如果我粘贴进去

https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3355&cf_id=24

在我的浏览器中,它会下载一个名为 check_cups_printer.tar.gz 的文件。

如果我

wget 'https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3355&cf_id=24'

然后我得到一个名为attachment.php?link_id=3355&cf_id=24的文件。

问题

有没有办法从命令行获取文件的直接链接?

【问题讨论】:

标签: linux bash curl wget


【解决方案1】:

根据您的wget 版本,您也许可以使用--content-disposition 标志。

在我的系统上,我安装了以下版本 GNU Wget 1.19.1 并使用此
--content-disposition 标志,文件以原名完整下载。

wget --content-disposition 'https://exchange.nagios.org...'

在我的手册页中,他们警告说这是一个实验性功能 -

如果设置为开启,则启用对“Content-Disposition”标头的实验性(非全功能)支持...

【讨论】:

    【解决方案2】:

    您可以为wget 使用-O 选项。是--output-document=file的简写选项。

    此选项告诉wget 将正在下载的内容输出到文件中。

    对于您的示例,您需要做的是 -

    wget -O name_of_output_file 'https://exchange.nagios.org...'
    

    【讨论】:

    • 我认为问题在于 wget 不遵循重定向。
    • @TomFenech - 对我来说,它确实下载了所需的文件 - 只有名称被弄乱了。将文件扩展名更改为.tar.gz 允许我访问内容。
    猜你喜欢
    • 2021-10-14
    • 1970-01-01
    • 2017-08-26
    • 2012-05-21
    • 2022-06-16
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多