15 wskazówek, jak używać polecenia „curl” w Linux

15 wskazówek, jak używać polecenia „curl” w Linux

W połowie lat 90. XX wieku, kiedy Internet był jeszcze w powijakach, szwedzki programista o nazwie Daniel Stenberg rozpoczął projekt, który ostatecznie stał się tym, co wiemy jako kędzior Dzisiaj.

Początkowo dążył do opracowania nerw To okresowo pobierałoby kursy walut ze strony internetowej i zapewniłoby użytkownikom IRC szwedzkiego Kronor równoważników w dolarach amerykańskich.

Krótko mówiąc, projekt prosperował, dodając kilka protokołów i funkcji po drodze - a reszta to historia. Teraz zanurzmy się obiema stopami i nauczmy się używać Curl do przesyłania danych i więcej w Linux!

Złożyliśmy następującą listę 15 poleceń Curl dla Ciebie.

1. Zobacz wersję curl

-V Lub --wersja Opcje nie tylko zwrócą wersję, ale także obsługiwane protokoły i funkcje w bieżącej wersji.

$ curl --version Curl 7.47.0 (x86_64-PC-Linux-gnu) libcurl/7.47.0 gnutls/3.4.10 Zlib/1.2.8 libidn/1.32 Librtmp/2.3 protokoły: plik DICT ftp ftps gopher http https imap Imaps ldap ldaps pop3 pop3s rtmp rTSP rTSP SMB SMTP SMTP TELNET TFTP Funkcje: Asynchdns IDN IPv6 Largefile GSS-API Kerberos SpnaGo Ntlm ntlm_wb ssl libz tlss-srpsSprpsSprps-Uss-srps-Uss-Uss-srps-Uss-srps-Uss-srps-uss-srpss-UsSprpSpSps-fiss 

2. Pobierz plik

Jeśli chcesz pobrać plik, możesz użyć kędzior z -O Lub -o opcje. Pierwszy zapisz plik w bieżącym katalogu roboczym o tej samej nazwie, co w odległej lokalizacji, podczas gdy drugi umożliwia określenie innej nazwy pliku i/lub lokalizacji.

$ curl -o http: // yourdomain.com/yourfile.smoła.GZ # Zapisz jako swój plik.smoła.gz $ curl -o Newfile.smoła.GZ http: // twoja.com/yourfile.smoła.GZ # zapisz jako Newfile.smoła.GZ 

3. Wznowić przerwane pobieranie

Jeśli z jakiegoś powodu pobieranie zostało przerwane (na przykład, używając Ctrl + c), możesz to bardzo łatwo wznowić. Sposób użycia -C - (Dash C, Space Dash) informuje Curl, aby wznowił pobieranie, począwszy od miejsca, w którym się skończyło.

$ curl -c --o http: // yourdomain.com/yourfile.smoła.GZ 
Pobierz plik za pomocą polecenia curl

4. Pobierz wiele plików

Za pomocą następującego polecenia pobierasz informacje.html I o.html z http: // twoje.com I http: // mysite.com, odpowiednio za jednym razem.

$ curl -o http: // relaite.com/info.html -o http: // mysite.com/około.html 

5. Pobierz adresy URL z pliku

Jeśli połączysz kędzior Dzięki xargs możesz pobierać pliki z listy adresów URL w pliku.

$ xargs -n 1 curl -o < listurls.txt 
Pobierz wiele plików z Curl

6. Użyj proxy z uwierzytelnianiem lub bez

Jeśli jesteś za serwerem proxy słuchającym na porcie 8080 Na pełnomocnik.Twoja domena.com, Do.

$ curl -x proxy.Twoja domena.com: 8080 -u Użytkownik: hasło -o http: // Twojadomina.com/yourfile.smoła.GZ 

gdzie możesz pominąć -U użytkownik: hasło Jeśli twój proxy nie wymaga uwierzytelnienia.

7. Zapytanie nagłówki HTTP

Http Nagłówki pozwalają zdalnemu serwerowi WWW na wysyłanie dodatkowych informacji o sobie wraz z rzeczywistym żądaniem. Dostarcza to klientowi szczegółów dotyczących sposobu obsługi żądania.

Aby zapytać nagłówki HTTP ze strony internetowej, zrób:

$ curl -i www.Tecmint.com 
Nagłówki HTTP na zapytanie o curl

Informacje te są również dostępne w narzędziach programistów przeglądarki.

8. Zrób żądanie Post z parametrami

Następujące polecenie wyśle imię I nazwisko parametry, wraz z ich odpowiednimi wartościami, https: // twojadomina.com/info.php.

$ curl - -data "FirstName = John & lastName = doe" https: // yourdomain.com/info.php 

Możesz użyć tej wskazówki, aby symulować zachowanie zwykłej formy HTML.

9. Pobierz pliki z serwera FTP z uwierzytelnianiem lub bez

Jeśli zdalny serwer FTP oczekuje połączeń pod adresem ftp: // yourftpserver, Pobranie następujące polecenie plik.smoła.GZ W obecnym katalogu roboczym.

$ curl -u nazwa użytkownika: hasło -o ftp: // yourftpserver/yourfile.smoła.GZ 

gdzie możesz pominąć -U użytkownika: hasło Jeśli serwer FTP zezwala na anonimowe loginy.

10. Prześlij pliki do serwera FTP z uwierzytelnianiem lub bez

Aby przesłać lokalny plik o nazwie MyLocalfile.smoła.GZ Do ftp: // yourftpserver Za pomocą curl zrób:

$ curl -u nazwa użytkownika: hasło -t mylocalfile.smoła.GZ ftp: // yourftpserver 

11. Podaj agent użytkownika

agent użytkownika jest częścią informacji wysyłanych wraz z Http wniosek. Wskazuje to, która przeglądarka Klient używał do złożenia żądania. Zobaczmy, co nasza bieżąca wersja Curl używa jako domyślna, i zmieńmy ją później na „Jestem nową przeglądarką internetową”:

$ curl -i http: // localHost --user-agent „Jestem nową przeglądarką internetową” 
Curl Sprawdź agent użytkownika

12. PLAY STRONE PLAUSE

Chcesz zobaczyć, które pliki cookie są pobierane do komputera podczas przeglądania https: // www.CNN.com? Użyj następującego polecenia, aby je zapisać Cnncookies.tekst. Następnie możesz użyć polecenia CAT do wyświetlenia pliku.

$ curl-Cookie-jar cnncookies.txt https: // www.CNN.com/indeks.html -o 
Curl Store Witryna Pliki cookie

13. Wyślij pliki cookie

Możesz użyć plików cookie pobranych w ostatniej wskazówki w kolejnych żądaniach do tej samej strony.

$ curl -Cookie cnncookies.txt https: // www.CNN.com 

14. Zmodyfikuj rozdzielczość nazw

Jeśli jesteś programistą i chcesz przetestować lokalną wersję Twoja domena.com Przed popchnięciem na żywo możesz sprawić, by curl rozwiązywał http: // www.Twoja domena.com Do twojego lokalnego hosta tak:

$ curl - -rezolwa www.Twoja domena.Com: 80: LocalHost http: // www.Twoja domena.com/ 

Zatem zapytanie http: // www.Twoja domena.com Powie Curl, aby poprosiła o witrynę z LocalHost zamiast używać DNS lub /etc/hosts plik.

15. Ogranicz szybkość pobierania

Aby zapobiec zwężeniu curl twojego przepustowości, możesz ograniczyć szybkość pobierania do 100 kb/s następująco.

$ curl--limit-Rate 100k http: // twoja.com/yourfile.smoła.GZ -O 
Streszczenie

W tym artykule podzieliliśmy krótką historię pochodzenia Curl i wyjaśniliśmy, jak go używać za pomocą 15 praktycznych przykładów.

Czy znasz jakiekolwiek inne polecenia curl, które mogliśmy przegapić w tym artykule? Podziel się nimi z naszą społecznością w komentarzach! Ponadto, jeśli masz pytania, daj nam znać. Oczekujemy na kontakt zwrotny!