15 patarimų, kaip naudoti „Curl“ komandą sistemoje „Linux“
Dešimtojo dešimtmečio viduryje, kai internetas dar buvo tik kūdikystėje, švedų programuotojas, vardu Danielis Stenbergas, pradėjo projektą, kuris galiausiai išaugo į tai, ką šiandien žinome kaip garbaną.
Iš pradžių jis siekė sukurti robotą, kuris periodiškai atsisiųsdavo valiutų kursus iš interneto ir IRC vartotojams teikdavo Švedijos kronų ekvivalentus JAV doleriais.
Trumpai tariant, projektas klestėjo, pridėdamas keletą protokolų ir funkcijų - visa kita yra istorija. Dabar pasinerkime abiem kojomis ir sužinokime, kaip „curl“ naudoti norint perduoti duomenis ir dar daugiau „Linux“!
Mes sudarėme jums 15 garbanojimo komandų sąrašą.
1. Peržiūrėkite garbanos versiją
Parinktys -V
arba --version
grąžins ne tik versiją, bet ir palaikomus dabartinės versijos protokolus bei funkcijas.
$ 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. Atsisiųskite failą
Jei norite atsisiųsti failą, galite naudoti garbaną naudodami parinktis -O
arba -o
. Pirmieji failą išsaugos dabartiniame darbo kataloge tuo pačiu pavadinimu kaip ir nuotolinėje vietoje, o antrasis leidžia nurodyti kitą failo pavadinimą ir (arba) vietą.
$ 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. Atnaujinkite pertraukiamą atsisiuntimą
Jei atsisiuntimas buvo nutrauktas dėl kokių nors priežasčių (pavyzdžiui, naudojant Ctrl + c
), galite jį labai lengvai atnaujinti. Naudojant -C
- (brūkšnys C, tarpo brūkšnys) liepiama garbanai tęsti atsisiuntimą pradedant nuo ten, kur baigta.
$ curl -C - -O http://yourdomain.com/yourfile.tar.gz
4. Atsisiųskite kelis failus
Naudodami šią komandą, vienu ypu atsisiųskite „info.html“ ir „about.html“ iš atitinkamai iš http://yoursite.com ir http://mysite.com.
$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html
5. Atsisiųskite URL iš failo
Jei sujungsite garbanojimą su „xargs“, galite atsisiųsti failus iš faile esančių URL sąrašų.
$ xargs -n 1 curl -O < listurls.txt
6. Naudokite tarpinį serverį su autentifikavimu arba be jo
Jei esate už tarpinio serverio, klausančio 8080 prievado adresu proxy.yourdomain.com, atlikite tai.
$ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz
kur galite praleisti -U vartotojas: slaptažodį, jei jūsų tarpiniam serveriui nereikia autentifikuoti.
7. Užklausa HTTP antraštes
HTTP antraštės leidžia nuotoliniam žiniatinklio serveriui kartu su faktine užklausa siųsti papildomą informaciją apie save. Tai suteikia klientui išsamią informaciją apie tai, kaip tvarkoma užklausa.
Norėdami užduoti HTTP antraštes iš svetainės, atlikite šiuos veiksmus:
$ curl -I linux-console.net
Ši informacija taip pat yra jūsų naršyklės kūrėjų įrankiuose.
8. Pateikite POST užklausą su parametrais
Ši komanda nusiųs parametrus firstName ir lastName kartu su atitinkamomis reikšmėmis adresu https://yourdomain.com/info.php.
$ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php
Šiuo patarimu galite imituoti įprastos HTML formos elgseną.
9. Atsisiųskite failus iš FTP serverio su autentifikavimu arba be jo
Jei nuotolinis FTP serveris tikisi prisijungimo prie ftp:/yourftpserver, ši komanda atsisiųs jūsų failą.tar.gz į dabartinį darbo katalogą.
$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz
kur galite praleisti -u vartotojo vardą: slaptažodį, jei FTP serveris leidžia anonimiškai prisijungti.
10. Įkelkite failus į FTP serverį su autentifikavimu arba be jo
Norėdami įkelti vietinį failą pavadinimu mylocalfile.tar.gz į ftp:/yourftpserver naudodamiesi „curl“, atlikite šiuos veiksmus:
$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver
11. Nurodykite „User Agent“
Vartotojo agentas yra dalis informacijos, kuri siunčiama kartu su HTTP užklausa. Tai rodo, kurią naršyklę klientas naudojo pateikdamas užklausą. Pažiūrėkime, kokia dabartinė mūsų garbanos versija naudojama kaip numatytoji, ir pakeiskime ją vėliau į „Aš esu nauja žiniatinklio naršyklė“:
$ curl -I http://localhost --user-agent "I am a new web browser"
12. Saugokite svetainės slapukus
Norite sužinoti, kurie slapukai atsisiunčiami į jūsų kompiuterį, kai naršote adresu https://www.cnn.com? Norėdami išsaugoti juos cnncookies.txt, naudokite šią komandą. Tada galite naudoti katės komandą, kad peržiūrėtumėte failą.
$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O
13. Siųsti svetainės slapukus
Paskutiniame patarime gautus slapukus galite naudoti vėlesnėse užklausose toje pačioje svetainėje.
$ curl --cookie cnncookies.txt https://www.cnn.com
14. Pakeiskite vardo skiriamąją gebą
Jei esate žiniatinklio kūrėjas ir norite išbandyti vietinę „yourdomain.com“ versiją prieš tiesiogiai ją paskelbdami, galite priversti „curl“ išspręsti „http://www.yourdomain.com“ savo vietos šeimininkui taip:
$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/
Taigi užklausa į http://www.yourdomain.com nurodys garbanai prašyti svetainės iš „localhost“, o ne naudoti DNS ar/etc/hosts failą.
15. Apriboti atsisiuntimo greitį
Norėdami užkirsti kelią garbanoms dėl jūsų pralaidumo, galite apriboti atsisiuntimo greitį iki 100 KB/s taip.
$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O
Šiame straipsnyje mes pasidalijome trumpa garbanos atsiradimo istorija ir paaiškinome, kaip ją panaudoti, pateikdami 15 praktinių pavyzdžių.
Ar žinote kitų garbanojimo komandų, kurių galbūt praleidome šiame straipsnyje? Nedvejodami pasidalykite jais su mūsų bendruomene komentaruose! Be to, jei turite klausimų, nedvejodami praneškite mums. Lauksime jūsų!