2017-07-15 182 views
2

我想从我的私人信息库之一下载最新的版本,我使用此代码下载:如何从私人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. 

什么地方错了?

+0

我认为你的卷曲的代码是没有问题的。我认为你的资产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

+0

@Tanaike;这给了我'解析错误:第1行第9列无效的数字文字' – haccks

+0

对于给您带来的不便,我深表歉意。我看不到您的代码和回复。所以我无法估计这种情况。我很抱歉我的技能很差。 – Tanaike

回答

0

由于-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 
相关问题