GitHub提供了一个“最新”的URL,重定向到最新版本的信息页面。例如:https//github.com/reactiveui/ReactiveUI/releases/latest将重定向到https://github.com/reactiveui/ReactiveUI/releases/tag/5.99.6

这很好,但我需要一个URL下载文件https://github.com/reactiveui/ReactiveUI/releases/download/5.99.6/ReactiveUI-5.99.6.zip

为什么?作为Travis CI脚本的一部分,我想让URL curl以下载最新版本。

我猜对了一些URL,比如/ releases / download / latest /file.zip(用“latest”代替版本部分)和/releases/download/file.zip,而不是404。

有没有办法做到这一点 - 在一个shell脚本和curl的上下文?

耽尼耽尼提问于
叶叶程序猿,码农回答于

我使用它来获取PowerShell 5+(替换帐户&repo)中的下载URL。

Invoke-RestMethod -uri  https://api.github.com/repos/ACCOUNT/REPO/releases/latest | select -ExpandProperty assets | select -expand browser_download_url 

注意,如果他们有多个包,这将是一个列表。如果想要选择一个特定的名称,请找到名称的唯一部分,即Win for Windows并使用:(替换帐户、repo和选择器)

Invoke-RestMethod -uri  https://api.github.com/repos/ACCOUNT/REPO/releases/latest | select -ExpandProperty assets | ? { $_.name.Contains("SELECTOR")} | select -expand browser_download_url

另外,如果将上面的内容分配给一个变量,那么可以抓取该文件并使用以下内容解压缩它(假设将该文件分配给$uri):

Invoke-WebRequest $uri -OutFile "release.zip"
Expand-Archive .\release.zip

在PowerShell 6+中,这应该适用于Windows以外的其他平台。

回答过的其他问题

云机器有防御吗?

叶叶程序猿,码农

目前有:网站管家WAF https://cloud.tencent.com/product/waf

你也可以根据你的需求购买其他的防御。

SSH连接服务器延迟太高,应如何解决?

叶叶程序猿,码农

我觉得mosh不能解决延迟问题。要么换一条从本地到服务器的路由(如VPN),要么让本地离服务器近一些。

如何在腾讯云上运用python?

叶叶程序猿,码农
实例有很多呀,比如下面这个。社区都能找得到。 Python实现腾讯云CDB备份文件自动上传到COS 一、背景 需求:目前遇到的客户需求为将腾讯云CDB备份文件自动上传到腾讯云COS内,再次抛砖引玉,还有很多类似的需求均可以采用此类方法解决,线下IDC数据文件备份至云端COS内,或...... 展开详请

jQuery选择更改/点击问题 - 更改在IE中不起作用,点击在Chrome中不起作用?

叶叶程序猿,码农
已采纳
你可以在两种情况下都可以这样做: $('.select_change').live("change click", function(){ $(this).parent().find(".hidden").toggle($(this).val() == 'other');...... 展开详请

年满16周岁能否备案?

叶叶程序猿,码农
已采纳

域名实名认证总是审核不通过?

叶叶程序猿,码农

域名持有人和身份证是否一致?

不一致无法通过审核的

关于作者

所属标签

扫码关注云+社区