2013-04-28 13 views
16

użyłem „-tak curl” polecenie, aby pobrać pliki projektu z tego linku GitHub projektu: http://github.com/ziyaddin/xampp/archive/master.zipnie można pobrać projekt GitHub z curl polecenia

ale nie mogę ściągnąć. Jest błąd i mówi, że:

Archive: /home/ziyaddin/Desktop/master.zip 
[/home/ziyaddin/Desktop/master.zip] End-of-central-directory 
signature not found. Either this file is not a zipfile, or it 
constitutes one disk of a multi-part archive. In the latter case 
the central directory and zipfile comment will be found on the last 
disk(s) of this archive. zipinfo: cannot find zipfile directory in 
one of /home/ziyaddin/Desktop/master.zip or 
      /home/ziyaddin/Desktop/master.zip.zip, and cannot find 
/home/ziyaddin/Desktop/master.zip.ZIP, period. 

ale mogę pobrać ten link z poleceniem Zwijanie: http://cloud.github.com/downloads/pivotal/jasmine/jasmine-standalone-1.3.1.zip

Myślę, że to dlatego, że jest w cloud.github.com. Chcę wiedzieć, w jaki sposób mogę pobrać pierwszy link za pomocą polecenia curl?

Odpowiedz

34
 
$ curl -LOk https://github.com/ziyaddin/xampp/archive/master.zip 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 119 100 119 0  0 375  0 --:--:-- --:--:-- --:--:-- 388 
    0  0 0 1706 0  0 1382  0 --:--:-- 0:00:01 --:--:-- 333k 
  • należy użyć https://
  • należy użyć -L śledzić przekierowania
  • należy użyć -k jeśli plik certyfikatu brakuje
+0

Działa dobrze! Wielkie dzięki! –

+0

Czy mogę użyć tego bieżącego polecenia, aby zapisać plik w folderze docelowym? Co muszę napisać, aby zapisać w folderze docelowym, który napisałem? –

+0

Co za wspaniała odpowiedź. –

2
 
$ curl -I http://github.com/ziyaddin/xampp/archive/master.zip 
HTTP/1.1 301 Moved Permanently 
Server: GitHub.com 
Date: Sun, 28 Apr 2013 09:24:53 GMT 
Content-Type: text/html 
Content-Length: 178 
Connection: close 
Location: https://github.com/ziyaddin/xampp/archive/master.zip 
Vary: Accept-Encoding 

... więc Jeśli chcesz śledzić przekierowanie HTTP, musisz użyć -L. Lub po prostu czytać Steven Penny odpowiedź ...

+0

Dzięki, Daniel! –

4

Można również pobrać tarball (* .tar.gz) z:

curl -LkSs https://api.github.com/repos/ziyaddin/xampp/tarball -o master.tar.gz 

lub w przypadku korzystania z -O można pominąć nazwę pliku, ale to zapisany plik ".tar.gz" jest domyślnie nazywany "tarball", więc musisz zmienić jego nazwę i dodać postfix typu pliku ".tar.gz". Więc używaj (małe) -o jak wyżej. Reszta:

  • Ss - użyj trybu cichego, ale pokazują błędy, jeśli w ogóle
  • k - używać niepewny połączenia SSL bez sprawdzania cert TLS.