Linux-da egri buýrugy nädip ulanmalydygy barada 15 maslahat


1990-njy ýyllaryň ortalarynda, Internet entek çagalyk döwründe, Daniel Stenberg atly şwesiýaly bir programmist, ahyrsoňy häzirki wagtda öwrenişýän zadymyza öwrülen bir taslama başlady.

Ilkibaşda, web sahypasyndan wagtal-wagtal walýuta hümmetini göçürip alýan we IRC ulanyjylaryna ABŞ-nyň Şwesiýa Kronor ekwiwalentini üpjün edýän bot döretmegi maksat edinýärdi.

Uzyn hekaýa, taslama gülläp ösdi, ýolda birnäçe protokol we aýratynlyk goşdy - galanlary taryh. Geliň indi iki aýagymyz bilen çümeliň we Linux-da maglumatlary we başga zatlary geçirmek üçin curl ulanmagy öwreneliň!

Siziň üçin 15 sany egri buýrugyň aşakdaky sanawyny jemledik.

1. Buruş wersiýasyny görüň

-V ýa-da --version opsiýalary diňe bir wersiýany däl, eýsem häzirki wersiýaňyzda goldanýan protokollary we aýratynlyklary hem yzyna gaýtaryp berer.

$ 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. Faýly göçürip alyň

Faýl göçürip almak isleseňiz, -O ýa-da -o opsiýalary bilen egri ulanyp bilersiňiz. Öňküsi faýly häzirki iş katalogynda uzakdaky ýaly at bilen ýatda saklar, ikinjisi size başga bir faýl adyny we/ýa-da ýerleşýän ýerini görkezmäge mümkinçilik berer.

$ 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. Arakesmeden göçürip almagy dowam etdiriň

Göçürip almak haýsydyr bir sebäbe görä kesilen bolsa (mysal üçin, Ctrl + c ulanmak), ony aňsatlyk bilen dowam etdirip bilersiňiz. -C - (C çyzgy, kosmos çyzgysy) ulanylyşy, göçürilen ýerinden başlap göçürip almagy dowam etdirmegi buýurýar.

$ curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. Birnäçe faýly göçürip alyň

Aşakdaky buýruk bilen degişlilikde http://yoursite.com we http://mysite.com salgysyndan info.html we about.html göçürip alarsyňyz.

$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html 

5. URL-lerini faýldan göçürip alyň

Buruşy xargs bilen birleşdirseňiz, bir faýldaky URL-leriň sanawyndan faýllary göçürip alyp bilersiňiz.

$ xargs -n 1 curl -O < listurls.txt

6. Autentifikasiýa bilen ýa-da proksi ulanyň

Proxy.yourdomain.com sahypasyndaky 8080 portda diňleýän proksi serweriň arkasynda bolsaňyz.

$ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

nirede U-ulanyjyny geçirip bilersiňiz: proksi tassyklamagy talap etmeýän bolsa parol.

7. HTTP sözbaşylaryny soraň

HTTP sözbaşylary uzakdaky web serwerine hakyky haýyş bilen birlikde özi hakda goşmaça maglumat ibermäge mümkinçilik berýär. Bu, müşderä haýyşyň nähili seredilýändigi barada jikme-jiklikler berýär.

Web sahypasyndan HTTP sözbaşylaryny soramak üçin:

$ curl -I linux-console.net

Bu maglumatlar brauzeriňiziň dörediji gurallarynda hem elýeterlidir.

8. Parametrler bilen POST haýyş ediň

Aşakdaky buýruk, degişli bahalar bilen birlikde, ilkinjiName we lastName parametrlerini https://yourdomain.com/info.php salgysyna iberer.

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

Bu maslahaty adaty HTML görnüşiniň özüni alyp barşyny simulirlemek üçin ulanyp bilersiňiz.

9. Faýllary tassyklamak bilen ýa-da bolmazdan FTP serwerinden faýllary göçürip alyň

Uzakdaky FTP serweri ftp:/yourftpserver-de birikmelere garaşýan bolsa, aşakdaky buýruk häzirki iş bukjasyna yourfile.tar.gz göçürip alar.

$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz 

bu ýerde -u ulanyjy adyny: FTP serweri näbelli girişlere rugsat berse parol.

10. Faýllary tassyklamak bilen ýa-da bolmazdan FTP serwerine ýükläň

Mylocalfile.tar.gz atly ýerli faýly ftl:/curl ulanyp ftftpserver-e ýüklemek üçin:

$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. Ulanyjy agentini görkeziň

Ulanyjy agenti, HTTP haýyşy bilen bilelikde iberilýän maglumatlaryň bir bölegidir. Bu, müşderiniň haýsy brauzeri haýyş bilen ulanandygyny görkezýär. Geliň, häzirki egri wersiýamyzyň asyl görnüşde ulanýandygyny göreliň we soňundan\Men täze web brauzeri diýip üýtgedeliň:

$ curl -I http://localhost --user-agent "I am a new web browser"

12. Web sahypasynyň gutapjyklaryny saklaň

Https://www.cnn.com sahypasyna göz aýlanyňyzda haýsy gutapjyklaryň kompýuteriňize göçürilendigini görmek isleýärsiňizmi? Cnncookies.txt-de saklamak üçin aşakdaky buýrugy ulanyň. Soňra faýly görmek üçin pişik buýrugyny ulanyp bilersiňiz.

$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. Web sahypasynyň gutapjyklaryny iberiň

Soňky maslahatda alnan gutapjyklary şol bir sahypa indiki haýyşlarda ulanyp bilersiňiz.

$ curl --cookie cnncookies.txt https://www.cnn.com

14. Adyň çözgüdini üýtgediň

Web dörediji bolsaňyz we göni ýaýlymdan ozal yourdomain.com-yň ýerli wersiýasyny synap görmek isleseňiz, http://www.yourdomain.com sahypasyny ýerlihostyňyza şeýle çözüp bilersiňiz:

$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

Şeýlelik bilen, http://www.yourdomain.com saýtynda DNS ýa-da/etc/host faýly ulanmagyň ýerine saýty ýerlihostdan haýyş etmegi aýdylýar.

15. Göçürip almagyň derejesini çäklendiriň

Egriniň geçirijilik giňligini ýapmagynyň öňüni almak üçin, göçürip almak tizligini aşakdaky ýaly 100 KB/s bilen çäklendirip bilersiňiz.

$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O

Bu makalada buruşyň gelip çykyşy barada gysgaça maglumat paýlaşdyk we 15 amaly mysal arkaly nädip ulanmalydygyny düşündirdik.

Bu makalada sypdyran başga egri buýruklarymyzy bilýärsiňizmi? Olary teswirlerimizde jemgyýetimiz bilen paýlaşyp bilersiňiz! Şeýle hem, soraglaryňyz bar bolsa bize habar beriň. Sizden eşitmäge sabyrsyzlyk bilen garaşýarys!