已经有一些关于如何下载 GitHub 存储库的 ZIP 文件的问题的答案,但如果存储库是私有的,它们就不起作用。
我知道它应该以wget
某种方式工作,因为它确实适用于curl
:
curl -u <USER> -L -o <FILENAME> https://github.com/<USER>/<REPO>/archive/master.zip
上面一行会询问<USER>
's 的密码,下载 master 分支 ZIP 文件并保存为<FILENAME>
. 但是,wget
等效项不起作用:
wget --user=<USER> --ask-password --output-document=<FILENAME> https://github.com/<USER>/<REPO>/archive/master.zip
结果是ERROR 404: Not Found.
似乎 github.com 在发出未经身份验证的 GET 请求时说资源不存在,这并不礼貌。通常
wget
会首先尝试在没有身份验证的情况下请求资源,并在给出 401 Not Authenticated 错误时使用该身份验证数据重试。这可以通过传递来解决,
--auth-no-challenge
以便wget
第一次发送身份验证数据。