15 nasvetov o uporabi ukaza Curl v Linuxu
Sredi devetdesetih let prejšnjega stoletja, ko je bil internet še v povojih, je švedski programer Daniel Stenberg začel projekt, ki je sčasoma prerasel v tisto, kar danes poznamo kot curl.
Sprva je nameraval razviti bota, ki bi občasno naložil menjalne tečaje s spletne strani in uporabnikom IRC zagotovil švedske ekvivalente kronov v ameriških dolarjih.
Skratka, projekt je uspeval in na poti dodal več protokolov in funkcij - ostalo je zgodovina. Zdaj pa se potopimo z obema nogama in se naučimo uporabljati curl za prenos podatkov in še več v Linuxu!
Za vas smo pripravili naslednji seznam 15 ukazov za curl.
1. Ogled različice curl
Možnosti -V
ali --version
ne bodo vrnile samo različice, temveč tudi podprte protokole in funkcije v vaši trenutni različici.
$ 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 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
2. Prenesite datoteko
Če želite prenesti datoteko, lahko uporabite curl z možnostmi -O
ali -o
. Prva bo datoteko shranila v trenutni delovni imenik z istim imenom kot na oddaljeni lokaciji, druga pa vam omogoča, da določite drugo ime datoteke in/ali lokacijo.
$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz $ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz
3. Nadaljujte prekinjen prenos
Če je bil prenos iz nekega razloga prekinjen (na primer z Ctrl + c
), ga lahko zelo preprosto nadaljujete. Uporaba -C
-(pomišljaj C, preslednica) pove curlu, da nadaljuje s prenosom, ki se je začel tam, kjer je končal.
$ curl -C - -O http://yourdomain.com/yourfile.tar.gz
4. Prenesite več datotek
Z naslednjim ukazom boste naenkrat prenesli info.html in about.html s spletnega mesta http://yoursite.com oziroma http://mysite.com.
$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html
5. Prenesite URL -je iz datoteke
Če kombinirate curl z xargs, lahko datoteke prenesete s seznama URL -jev v datoteki.
$ xargs -n 1 curl -O < listurls.txt
6. Uporabite proxy s preverjanjem pristnosti ali brez
Če ste za proxy strežnikom, ki posluša vrata 8080 na proxy.yourdomain.com, naredite to.
$ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz
kjer lahko preskočite -U uporabnik: geslo, če vaš proxy ne zahteva preverjanja pristnosti.
7. Poizvedite glave HTTP
Glave HTTP omogočajo oddaljenemu spletnemu strežniku, da skupaj z dejansko zahtevo pošlje dodatne podatke o sebi. To stranki posreduje podrobnosti o tem, kako se zahteva obravnava.
Če želite poizvedovati glave HTTP s spletnega mesta, naredite naslednje:
$ curl -I linux-console.net
Te informacije so na voljo tudi v orodjih za razvijalce vašega brskalnika.
8. Naredite zahtevo POST s parametri
Naslednji ukaz bo poslal parametre firstName in lastName skupaj z ustreznimi vrednostmi na https://yourdomain.com/info.php.
$ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php
Ta nasvet lahko uporabite za simulacijo obnašanja običajnega obrazca HTML.
9. Prenesite datoteke s strežnika FTP z ali brez preverjanja pristnosti
Če oddaljeni strežnik FTP pričakuje povezave na ftp:/yourftpserver, bo naslednji ukaz prenesel yourfile.tar.gz v trenutni delovni imenik.
$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz
kjer lahko preskočite -u uporabniško ime: geslo, če strežnik FTP dovoljuje anonimne prijave.
10. Naložite datoteke na strežnik FTP z ali brez preverjanja pristnosti
Če želite naložiti lokalno datoteko z imenom mylocalfile.tar.gz na ftp:/yourftpserver z uporabo curl, naredite naslednje:
$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver
11. Določite uporabniškega agenta
Uporabniški agent je del informacij, ki se pošljejo skupaj z zahtevo HTTP. To označuje, kateri brskalnik je odjemalec uporabil za zahtevo. Poglejmo, kaj naša trenutna različica curl uporablja kot privzeto, in jo pozneje spremenimo v\"Jaz sem nov spletni brskalnik":
$ curl -I http://localhost --user-agent "I am a new web browser"
12. Shranite piškotke spletnega mesta
Želite videti, kateri piškotki se naložijo v vaš računalnik, ko brskate na https://www.cnn.com? Uporabite naslednji ukaz, da jih shranite v datoteko cnncookies.txt. Nato si lahko z ukazom cat ogledate datoteko.
$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O
13. Pošljite piškotke spletnega mesta
Piškotke, pridobljene v zadnjem nasvetu, lahko uporabite v naslednjih zahtevah na isto spletno mesto.
$ curl --cookie cnncookies.txt https://www.cnn.com
14. Spremenite ločljivost imen
Če ste spletni razvijalec in želite preizkusiti lokalno različico svojega domena.com, preden ga potisnete v živo, lahko naredite, da se kodra razreši http://www.vaša domena.com na vašem lokalnem gostitelju na naslednji način:
$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/
Tako bo poizvedba na http://www.yourdomain.com povedala curlu, da zahteva spletno mesto od localhost, namesto da uporablja DNS ali datoteko/etc/hosts.
15. Omejite hitrost prenosa
Če želite preprečiti, da bi curl povezal vašo pasovno širino, lahko omejite hitrost prenosa na 100 KB/s, kot sledi.
$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O
V tem članku smo delili kratko zgodovino nastanka kodra in s 15 praktičnimi primeri razložili, kako ga uporabljati.
Ali poznate kakšne druge ukaze curl, ki smo jih v tem članku morda spregledali? V komentarjih jih delite z našo skupnostjo! Če imate vprašanja, nam to sporočite. Veselimo se vaših odzivov!