Как загрузить tarball из GitHub с помощью cURL?
Я пытаюсь загрузить тарбол из GitHub с помощью cURL, но это не похоже на перенаправление:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2
<html><body>You are being <a href="https://nodeload.github.com/pinard/Pymacs/tarball/v0.24-beta2">redirected</a>.</body></html>
Примечание: wget работает для меня:
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
однако я хочу использовать cURL, потому что в конечном итоге я хочу, чтобы untar он встроен с чем-то вроде:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
Я обнаружил, что URL-адрес после перенаправления оказался https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz, но я хотел бы, чтобы cURL был достаточно умен, чтобы понять это.
4 ответа:
использовать
-Lвозможность следовать перенаправлениям:curl -L https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
модернизированный способ сделать это:
curl -sL https://github.com/user-or-org/repo/archive/sha1-or-ref.tar.gz | tar xzзаменить
user-or-org,repoиsha1-or-refсоответственно.если вы хотите zip-файл вместо tarball, укажите
.zipвместо.tar.gzсуффиксом.вы также можете получить архив частного РЕПО, с указанием
-u token:x-oauth-basicвозможность скручивания. ЗаменитьtokenС личный маркер доступа.