我正试图从私人存储库中的发布中下载一个添加的资产,但得到的只是404响应。资产的下载url是https://github.com/<user>/<repo>/releases/download/20211022/file.json
我尝试了几种不同的方法来指定用户名和私有访问令牌,但都给出了相同的结果。当我使用访问令牌访问api.github.com时,它似乎可以工作。
我在curl 中尝试了以下格式
curl -i -u <user>:<token> <url>
curl -i "https://<user>:<token>@github.com/ ...."
curl -i -H "Authorization: token <token>" <url>
我可以下载该版本的源代码(zip(,但它有一个不同的url:https://github.com/<user>/<repo>/archive/refs/tags/20211022.zip
我做错了什么?
如本文档所述。
您必须使用url: /repos/{owner}/{repo}/releases/assets/{asset_id}
而不是browser_download_url
,并设置请求标头以接受application/octet-stream
下载
并且不要忘记添加Authorization
标头。
[1] :
另一种选择是使用GitHub CLIgh
和命令gh release download
。
自gh
2.19.0(2022年11月(起,您可以使用gh release download --output
下载单个资产(在gh auth login
之后,用于身份验证(:
在您的情况下:
gh release download --pattern 'file.json' --output file.json