如何从私人Github存储库下载二进制文件?
问题描述:
我想从我的私人信息库之一下载最新的版本,我使用此代码下载:如何从私人Github存储库下载二进制文件?
curl -i -H "Authorization: token $AUTH_KEY" \
https://api.github.com/repos/haccks/Test/releases/latest
从上述请求的响应返回其他详细信息的资产ID(7052110
)。然后我用
curl -L -H "Accept: application/octet-stream" \
https://$AUTH_KEY:@api.github.com/repos/haccks/Test/releases/assets/7052110
,并收到此错误:
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3"
}
我试图wget
也
wget --auth-no-challenge --header='Accept: application/octet-stream' \
https://$AUTH_KEY:@api.github.com/repos/haccks/Test/releases/assets/7052110
返回:
HTTP request sent, awaiting response... 404 Not Found
2017-07-15 20:46:26 ERROR 404: Not Found.
什么地方错了?
答
由于-H "Authorization: token $AUTH_KEY"
工作了以前的API调用,您可以用a curl
with multiple headers尝试:
curl -L -H "Accept: application/octet-stream" \
-H "Authorization: token $AUTH_KEY" \
https://api.github.com/repos/haccks/Test/releases/assets/7052110
我认为你的卷曲的代码是没有问题的。我认为你的资产ID可能是错的。因为当我尝试使用错误的资产ID从发布页检索二进制文件时,我确认了同样的错误。例如,资产ID可以通过''curl -H'Authorization:token $ AUTH_KEY“来检索https://api.github.com/repos/haccks/Test/releases/latest | jq'.assets [0] .id'''。请注意''.assets [0] .id''的数组索引。你想要的二进制文件可能是''.assets [1] .id''。因此,您可以使用资产ID检索二进制数据。如果我误解了你的问题,我很抱歉。 – Tanaike
@Tanaike;这给了我'解析错误:第1行第9列无效的数字文字' – haccks
对于给您带来的不便,我深表歉意。我看不到您的代码和回复。所以我无法估计这种情况。我很抱歉我的技能很差。 – Tanaike