我正在尝试从GitHub私有存储库下载最新版本。我成功了,但不是我想要的方式。我可以下载它,但在里面我发现了一个文件夹名称与我的用户名和我的最新提交ID。我想为该文件夹取一个不同的名称。
我正在下载最新版本的zipball:"zipball_url": "https://api.github.com/repos/:user/:repo/zipball/v1.0.1"
我看到我可以将二进制文件附加到发行版。
如果我这样做:curl -H "Authorization: token :token" https://api.github.com/repos/:user/:repo/releases/latest
我可以看到一个browser_download_url
文件:"browser_download_url": "https://github.com/:user/:repo/releases/download/:release/file.zip"
有没有办法做一个cURL并下载这个文件?它的工作原理和上面的不一样。
或者有没有一种方法来重命名我的zip文件中的文件夹?
2条答案
按热度按时间siv3szwd1#
Curl是一种方法,but the github-cli has some built-in features that make it a lot easier。
对于CURL,您还可以调用以下API
然后从中抓取
assets/url
或assets/browser_download_url
或zipball_url
元素,然后下载。您需要在API调用中传递一个auth令牌,因为您正在访问一个私有存储库。返回如下的回复:
wnavrhmk2#
截至2023年,根据Github REST API文档https://docs.github.com/en/rest/releases/assets?apiVersion=2022-11-28#get-a-release-asset,
GET /repos/{owner}/{repo}/releases/assets/{asset_id}
端点唯一支持的Content-Type是application/json。如果你像普通的Web浏览器一样使用curl,可以使用cURL来获取文件,但是你需要在请求中有一个有效的github.com浏览器会话/cookie作为HTTP头。有效的语法应该如下所示: