我刚刚在github上为我的NFQL软件创建了版本 以下是发布页面:https://github.com/vbajpai/nfql/releases
最新版本v0.7
。如果我单击tarball按钮,它将保存nfql-0.7.tar.gz
。这很棒,而且我希望如何命名我的发布档案。
但是,我需要tarball本身的下载链接。这样我就可以为tarball创建一个MacPorts / Homebrew文件。如果我查看下载链接,它是:
a)https://github.com/vbajpai/nfql/archive/v0.7.tar.gz或
b)https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7
现在,如果我使用curl/wget
,则会将tarball保存为v0.7.tar.gz
。我知道我可以在使用curl/wget
下载时指定文件名。我想知道是否有一个可靠的github URL我可以用来获取nfql-0.7.tar.gz
的tarball。
答案 0 :(得分:8)
第一个链接重定向到第二个链接:
curl --head https://github.com/vbajpai/nfql/archive/v0.7.tar.gz
HTTP/1.1 302 Found
Location: https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7
...
直接点击时,浏览器如何更改文件名 源代码链接?
文件名是通过自定义Content-Disposition
HTTP标头定义的:
curl --head https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=nfql-0.7.tar.gz
...
因此,您可以使用curl
的{{1}},-O, --remote-name
和-L, --location
将(输出)写入输出到名为远程文件的文件,然后按照重定向和使用标题提供的文件名:
-J, --remote-header-name
答案 1 :(得分:3)
当问题最初发布时,不确定这是否有效,但现在您可以使用https://github.com/vbajpai/nfql/archive/v0.7/nfql-0.7.tar.gz直接获取正确的文件名而无需查看标题。使用wget时非常好,因为您不需要标记,只需wget https://github.com/vbajpai/nfql/archive/v0.7/nfql-0.7.tar.gz
请注意,它是选择要使用的版本的倒数第二个路径组件 - 您可以将要包含的任何文件名作为最后一个路径组件。