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