我有一个嵌入式系统,我无法安装任何东西,我可能用来获取东西的唯一工具是wget.事实证明,你不能用curl做同样的事情.我也不能为这个系统交叉编译,所以我需要求助于Python或shell脚本.有一个名为Dulwich的git的纯Python实现实际上有一些我需要交叉编译的C代码......所以我甚至试图调查那个,仅供参考.
我需要的是从github存储库获取代码,显而易见的解决方案是使用它们提供的tarball.我通常会从存储库页面复制链接以下载zip按钮,并使用授权令牌而不是用户名和密码.它的工作非常简单,如下所示:
curl -L https://@github.com/ / /archive/master.tar.gz | tar xz
原来wget有点尴尬,无论我尝试过什么都行.
在wget标志的各种组合上击败我们之后涉及:
--post-data
; 要么
--user=
有没有--pasword=
,反之亦然; 要么
--header="Authorization: token
我回顾了文档,发现版本API中有其他端点.看起来我首先不能在Authorization
托管tarball的服务器上使用标头,其次curl(或github前端,基于代理字符串)似乎与
vs wget 做了不同的事情--user=
,并且它不是最令人愉快的事情.弄清楚.
这有用的是:
wget \ --header='Authorization: token' \ https://api.github.com/repos/ / /tarball/