从github下载tarball而不curl

我有一个embedded式系统,我不能安装任何东西,唯一的工具,我可能用来获取的东西是wget。 事实certificate,你不能用wget做同样的事情,你可以用curl来做。 我也不能交叉编译这个系统,所以我需要求助于Python或shell脚本。 有一个名为Dulwich的git的纯Python实现实际上有一些我需要交叉编译的C代码…所以我甚至用这个方法来看看这个,FYI。

我需要的是从github仓库获取代码,显而易见的解决scheme是使用他们提供的tarball。 我通常复制链接从存储库页面下载zipbutton,并使用授权令牌,而不是用户名和密码。 它的工作原理很简单,就像这样:

curl -L https://<token>@github.com/<org|user>/<repo>/archive/master.tar.gz | tar xz 

事实certificate,wget是更尴尬,无论我尝试只是工作。

在各种各样的wget标志组合敲打我的头之后,涉及:

  • --post-data ; 要么
  • --user=有和没有--pasword=反之亦然; 要么
  • --header="Authorization: token <token>"

我回头看文档,发现在发布API中有可选的端点。 看起来像首先我不能使用Authorization头与服务器托管tarballs和其次curl(或基于代理字符串的github前端)似乎做了一个与<token>@github.com与wget的不同的事情--user=<token> ,这并不是最令人愉快的事情。

那么有效的是这个:

 wget \ --header='Authorization: token <token>' \ https://api.github.com/repos/<org|user>/<repo>/tarball/<ref>