Awọn imọran 15 Lori Bii o ṣe le Lo lfin Curl ni Linux


Pada si aarin-1990s nigbati Intanẹẹti tun wa ni ibẹrẹ, olutẹ-ọrọ Swedish kan ti a npè ni Daniel Stenberg bẹrẹ iṣẹ akanṣe kan ti o dagba nikẹhin di ohun ti a mọ bi curl loni.

Ni ibẹrẹ, o ni ifọkansi lati dagbasoke bot kan ti yoo ṣe igbasilẹ awọn oṣuwọn paṣipaarọ owo lati oju-iwe wẹẹbu nigbakugba ati pe yoo pese awọn deede ti Sweden Kronor ni awọn dọla AMẸRIKA si awọn olumulo IRC.

Kukuru itan kukuru, iṣẹ akanṣe ṣe rere, fifi ọpọlọpọ awọn ilana ati awọn ẹya sii ni ọna - ati iyoku jẹ itan. Bayi jẹ ki a wọ sinu pẹlu awọn ẹsẹ mejeeji ki o kọ bi a ṣe le lo curl lati gbe data ati diẹ sii ni Linux!

A ti ṣe akojọ atokọ atẹle ti awọn ofin ọmọ-ọwọ 15 fun ọ.

1. Wo Ẹya Version

Awọn aṣayan -V tabi -version awọn aṣayan kii yoo da ẹda pada nikan, ṣugbọn tun awọn ilana ati atilẹyin awọn ẹya ninu ẹya ti isiyi rẹ.

$ 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. Ṣe igbasilẹ Faili kan

Ti o ba fẹ ṣe igbasilẹ faili kan, o le lo curl pẹlu awọn aṣayan -O tabi -o awọn aṣayan. Eyi iṣaaju yoo fi faili pamọ sinu ilana iṣẹ lọwọlọwọ pẹlu orukọ kanna bi ni ipo latọna jijin, lakoko ti igbehin gba ọ laaye lati ṣafihan orukọ faili miiran ati/tabi ipo miiran.

$ 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. Tun bẹrẹ Gbigba Idilọwọ

Ti o ba ti da gbigba lati ayelujara duro fun idi diẹ (fun apẹẹrẹ, ni lilo Ctrl + c ), o le tun bẹrẹ ni irọrun. Lilo ti -C - (daaṣi C, fifa aaye) sọ fun curl lati tun bẹrẹ gbigba lati ayelujara ni ibiti o ti duro.

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

4. Ṣe igbasilẹ Awọn faili lọpọlọpọ

Pẹlu aṣẹ atẹle iwọ yoo ṣe igbasilẹ info.html ati about.html lati http://yoursite.com ati http://mysite.com, lẹsẹsẹ, ni igbesẹ kan.

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

5. Ṣe igbasilẹ Awọn URL Lati Faili kan

Ti o ba ṣopọ curl pẹlu xargs, o le ṣe igbasilẹ awọn faili lati atokọ awọn URL kan ninu faili kan.

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

6. Lo Aṣoju pẹlu tabi laisi Ijeri

Ti o ba wa lẹhin olupin aṣoju ti n tẹtisi lori ibudo 8080 ni proxy.yourdomain.com, ṣe.

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

nibi ti o ti le foju -U olumulo: ọrọigbaniwọle ti aṣoju rẹ ko ba nilo ìfàṣẹsí.

7. Ibeere Awọn akọle HTTP

Awọn akọle HTTP gba laaye olupin wẹẹbu latọna jijin lati firanṣẹ alaye ni afikun nipa ara rẹ pẹlu ibeere gangan. Eyi pese fun alabara pẹlu awọn alaye lori bi a ṣe n ṣakoso ibeere naa.

Lati beere awọn akọle HTTP lati oju opo wẹẹbu kan, ṣe:

$ curl -I linux-console.net

Alaye yii tun wa ninu awọn irinṣẹ idagbasoke ti aṣàwákiri rẹ.

8. Ṣe ibeere POST pẹlu Awọn ipele

Aṣẹ wọnyi yoo firanṣẹ awọn orukọ akọkọ ati awọn orukọ ikẹhin, pẹlu awọn iye ti o baamu wọn, si https://yourdomain.com/info.php.

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

O le lo sample yii lati ṣedasilẹ ihuwasi ti fọọmu HTML deede.

9. Ṣe igbasilẹ Awọn faili lati ọdọ olupin FTP pẹlu tabi laisi Ijeri

Ti olupin FTP latọna jijin n reti awọn isopọ ni ftp:/yourftpserver, aṣẹ atẹle yoo ṣe igbasilẹ yourfile.tar.gz ninu itọsọna iṣẹ lọwọlọwọ.

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

nibi ti o ti le foju -u orukọ olumulo: ọrọ igbaniwọle ti olupin FTP ba gba awọn ibuwolu alailorukọ laaye.

10. Po si Awọn faili si olupin FTP pẹlu tabi laisi Ijeri

Lati gbe faili ti agbegbe kan ti a npè ni mylocalfile.tar.gz si ftp:/yourftpserver nipa lilo curl, ṣe:

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

11. Sọ Aṣoju Olumulo

Oluranlowo olumulo jẹ apakan ti alaye ti o firanṣẹ pẹlu ibeere HTTP. Eyi tọkasi iru ẹrọ aṣawakiri ti alabara lo lati ṣe ibeere naa. Jẹ ki a wo kini ẹya curl lọwọlọwọ wa nlo bi aiyipada, ki o jẹ ki a yipada nigbamii si\"Mo jẹ aṣawakiri wẹẹbu tuntun kan":

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

12. Tọju Awọn kukisi Oju opo wẹẹbu

Ṣe o fẹ wo iru awọn kuki ti o gba lati ayelujara si kọnputa rẹ nigbati o ba lọ kiri si https://www.cnn.com? Lo pipaṣẹ wọnyi lati fi wọn pamọ si cnncookies.txt. Lẹhinna o le lo aṣẹ ologbo lati wo faili naa.

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

13. Firanṣẹ Awọn kukisi Oju opo wẹẹbu

O le lo awọn kuki ti a gba pada ni ipari ikẹhin ninu awọn ibeere atẹle si aaye kanna.

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

14. Ṣe atunṣe ipinnu Orukọ

Ti o ba jẹ olupilẹṣẹ wẹẹbu kan ati pe o fẹ ṣe idanwo ẹya agbegbe ti yourdomain.com ṣaaju titari rẹ laaye, o le ṣe ipinnu curl http://www.yourdomain.com si ti agbegbe rẹ bii bẹ:

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

Nitorinaa, ibeere si http://www.yourdomain.com yoo sọ fun curl lati beere aaye naa lati localhost dipo lilo DNS tabi faili/ati be be lo/awọn ogun.

15. Iye to Gbigba Oṣuwọn

Lati ṣe idiwọ curl lati ṣiṣe bandiwidi rẹ, o le ṣe idinwo oṣuwọn igbasilẹ lati 100 KB/s bi atẹle.

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

Ninu nkan yii a ti pin itan-ṣoki kukuru ti awọn ipilẹṣẹ curl ati ṣalaye bi a ṣe le lo nipasẹ awọn apẹẹrẹ iṣe 15.

Njẹ o mọ nipa awọn ofin ọmọ-ọwọ miiran ti a le padanu ni nkan yii? Ni ominira lati pin wọn pẹlu agbegbe wa ninu awọn asọye! Pẹlupẹlu, ti o ba ni awọn ibeere ni ominira lati jẹ ki a mọ. A n reti lati gbọ lati ọdọ rẹ!