A Linux curl parancsa adatok letöltésére vagy feltöltésére szolgál a szerverre támogatott protokollokon, például HTTP, FTP, IMAP, SFTP, TFTP, IMAP, POP3, SCP stb. keresztül. Ez egy távoli segédprogram, így felhasználói beavatkozás nélkül működik.
Az egyik helyről a másikra történő adatátvitel a számítógépes rendszer egyik létfontosságú és leggyakrabban használt feladata. Az adatátvitelhez azonban számos grafikus felületi eszköz áll rendelkezésre. De amikor a parancssorban dolgozik, ez kissé bonyolulttá válik. A curl segédprogram lehetővé teszi az adatok átvitelét a parancssoron keresztül.
A Curl egy parancssori eszköz adatok, például URL-szintaxisú fájlok lekérésére és küldésére. Támogatja az összes protokollt, amelyet a libcurl támogat, mert a libcurl-t használja. A Curl támogatja a HTTPS-t, és végrehajtja az SSL-tanúsítvány-ellenőrzést, ha alapértelmezés szerint biztonságos protokollt említenek, például a HTTPS-t. A Curl elhozza a távoli kiszolgáló tanúsítványát, és ellenőrzi a CA-tanúsítványt, hogy megmentse a távoli kiszolgáló érvényességét, nehogy garantálja, hogy a távoli kiszolgálót kéri, amikor a curl HTTPS-en keresztül egy távoli kiszolgálóra hivatkozik.
Számos lehetőség van a CA-tanúsítvány meghatározására, pl --capath és --cacert . A --cacert opció használható a CA igazolás tároló fájl helyének megadására. Ha egy CA-tanúsítványfájl nem érhető el a Windows platformon, a curl az alábbi sorrendben keresi a „curl-ca-bundle.crt” CA-tanúsítványfájl nevét:
- Könyvtár, amelyben a curl program található.
- Jelenlegi munkakönyvtár.
- Rendszerkönyvtár (Windows).
- Könyvtár (Windows).
- A könyvtárakat a %PATH% környezeti változók említik.
A Curl hibaüzenetet ad, ha a távoli kiszolgáló önaláírt tanúsítványt használ, vagy ha a távoli kiszolgáló tanúsítványa nincs aláírva a CA-tanúsítványfájlban említett CA-n keresztül. A --insecure vagy -k opció használható a tanúsítvány ellenőrzésének kihagyására. Ha a távoli kiszolgáló érvényes, a távoli CA-tanúsítvány bekerülhet a CA-tanúsítványtároló fájlba.
A Curl rengeteg hasznos trükköt kínál, mint például a fájlátviteli önéletrajz, a cookie-k, az SSL-kapcsolatok, a HTTP-posta, az FTP-feltöltés, a felhasználói hitelesítés, a proxy-támogatás stb. A curl-t a libcurl gépesíti minden átvitellel kapcsolatos szemponthoz.
Mi az a libcurl?
A libcurl egy kliensoldali ingyenes URL-átviteli könyvtár. Támogatja az SMB, SMTP, SCP, RTMP, RTSP, POP3, MQTT, LDAP, Kerberos, IMAP, HTTPS, HTTP proxy tunneling, HTTP PUT, HTTP POST, HTTP/1, Gopher, FTPS, FTP, DICT és cookie-kat. A könyvtár támogatja a felhasználó plusz jelszó hitelesítést, a proxykat, az LDAPS-t, a HTTPS-tanúsítványokat, a HTTP űrlap alapú feltöltést, az FTP-feltöltést, a fájlátvitel folytatását, a TFTP-t, a Telnetet, az SFTP-t és a fájl URL-sémát.
A libcurl kompakt. Egyformán több platformon hoz létre és működik, köztük Microsoft Windows, UnixWare, Ultrix, Tru64, Symbian, Solaris, RISC OS, QNX Neutrino, OS/2, OpenBSD, NetWare, NetBSD, macOS, Linux, IRIX, iOS, HURD, HP -UX, FreeBSD, DOS, Darwin, OpenVMS, BlackBerry 10, BlackBerry Tablet OS, BeOS, Android, AmigaOS és AIX.
A libcurl könyvtár IPv6-kompatibilis, szálbiztos és ingyenes. A kötések több mint 50 nyelvhez is elérhetők, beleértve a Pythont, a PHP-t, a Java-t és a C/C++-t.
A libcurl könyvtár támogatja az SChannel-t, a gskit-et IBM i-en, az NSS-t, az mbed TLS-t, a GnuTLS-t Windowson, a Secure Trasportot iOS-en és a macOS-en, a TLS/SSL-t OpenSSL-en keresztül, a rustls-t, a BearSSL-t, a wolfSSL-t, az AmiSSL-t, a libressl-t és a Boringssl-t.
Szintaxis:
A curl használatának alapvető szintaxisa a következő:
curl [options] [URL...]
A fenti szintaxisból
URL:
Az URL szintaxis egy általános protokollfüggő URL. Több URL-t is megadhatunk az alábbiak szerint:
http://site.{one,two,three}.com
Lehetőségek:
A curl parancs a következő parancssori beállításokat támogatja:
--absztrakt-unix-socket: Hálózat helyett absztrakt Unix tartományi socketen keresztül történő csatlakozásra szolgál.
--anyauth: Ez a curl parancs a metódus önmagában történő hitelesítéséhez a legbiztonságosabb módszer használatához. Ez a segédprogram egy opcionális '--basic, --digest, --ntlm, and negotiate' segédprogram, amely egy adott hitelesítési módszer beállítására szolgál.
-a, --hozzáfűzés: Fájlok feltöltésére szolgál. Felülírás helyett hozzáfűzi a fájlt. Ha az adott fájl nem létezik a szerveren, akkor létrehoz egyet.
loop bash számára
--alapvető: Meghatározza a HTTP alaphitelesítés használatát. Ez a curl parancs alapértelmezett beállítása. Hasznos az előző beállítások felülbírálásához.
--cacert: Az adott tanúsítványfájl használatához van megadva a társ ellenőrzésére. A fájlok több CA-tanúsítvánnyal is rendelkezhetnek. A tanúsítványok szabványos formátuma a PEM, tehát minden tanúsítványnak benne kell lennie.
--capath: Meg van adva, hogy az adott könyvtárat használja a peer ellenőrzésére. Több útvonalat is megadhatunk kettősponttal (:) elválasztva, például „útvonal: elérési út2:útvonal3”. A tanúsítványok szabványos formátuma a PEM, tehát minden tanúsítványnak benne kell lennie.
--cert-status: A szervertanúsítvány állapotának ellenőrzésére szolgál. Tanúsítványállapot-kérelmet vagy OCSP tűző TLS-t használ.
--cert-type: Meghatározza a megadott curl tanúsítvány típusát. Ezek a tanúsítványok PEM, DER és ENG formátumúak lehetnek. Az alapértelmezett érték a PEM. Ha többször meg van adva, akkor az utolsó értéket veszi fel a curl.
-E, --cert: Az ügyféltanúsítvány-fájl használatára van megadva, amikor egy fájlt bármely SSL-alapú protokollon, például HTTPS-en, FTPS-en stb.
--rejtjelek: A kapcsolat során használandó rejtjelek kiválasztására szolgál.
--tömörített-ssh: A beépített SSH-tömörítés engedélyezésére szolgál. Ezt az opciót a szerver kéri, így a szerver elfogadhatja vagy nem.
--tömörítve: Tömörített válasz kérésére szolgál a curl algoritmusok segítségével, és elmenti a tömörítetlen dokumentumot. Ez az opció jelentést küld a nem támogatott kódolási hullámokról.
-K, --config: A curl argumentumok olvasására szolgáló szövegfájl leírására szolgál. A curl a szövegfájl parancssori argumentumait fogja használni.
--csatlakozási időtúllépés: Arra szolgál, hogy megadja a hullámos csatlakozási időtúllépés maximális idejét másodpercben.
--kapcsolodni : Ez arra szolgál, hogy kérést hozzon létre az adott host és port párhoz; ellenkező esetben csatlakozik a következő párhoz. Ez az opció egy praktikus eszköz a közvetlen kérések egy adott szerveren történő indításához.
-C, --continue-at: Egy korábbi fájlátvitel folytatására vagy folytatására szolgál az adott eltolásnál.
-c, --cookie-jar: Egy adott fájl megadására szolgál, amelybe a sikeres művelet után az összes cookie-t szeretnénk írni.
-b, --cookie: Adatok továbbítására szolgál a HTTP-szervernek a Cookie fejlécben.
--create-dirs: A '-o? opciót, létrehozza a szükséges helyi címtárhierarchiát.
--crlf (FTP SMTP): A feltöltés során az LF-t CRLF-vé konvertálják. Ez egy praktikus eszköz az MVS-hez (OS/390).
--crlfile: A tanúsítvány visszavonási listával történő megadására szolgál (PEM formátumban).
--data-ascii: Ez egy álneve a ?-d? választási lehetőség.
--delegáció : A LEVEL beállítására szolgál, hogy nyugtázza a szervert, hogy mit delegálhat a felhasználói hitelesítési adatok tekintetében.
--megemészteni: A HTTP Digest hitelesítés engedélyezésére szolgál.
-q, --disable: Ha első argumentumként használja, figyelmen kívül hagyja a curlrc konfigurációs fájlt.
--dns-interfész: A kiszolgáló nyugtázására szolgál, hogy elküldje a kimenő DNS-kéréseket.
--dns-szerverek: Az alapértelmezett szerverek helyett a DNS-kiszolgálók megadására szolgál.
-f, --fail: Arra használják, hogy a curl csendesen meghiúsuljon szerverhibák esetén.
-F, --forma: A felhasználó által kitöltött űrlap emulálására szolgál.
-P, --ftp-port: Az alapértelmezett figyelői szerepkörök megfordítására szolgál FTP-csatlakozáskor.
--ftp-ssl-ccc-mode: A CCC mód beállítására szolgál.
-G, --get: Az adatok ?-d? opciót a HTTP GET kérésben kell használni a POST kérés helyett.
-h, --help: A súgó kézikönyvének megjelenítésére szolgál, amely rövid leírást tartalmaz a használati és támogatási lehetőségekről.
-0, --http1.0: A HTTP 1.0-s verzió használatához van megadva.
-- figyelmen kívül hagyja a tartalom hosszát: A Content-Length fejléc figyelmen kívül hagyására szolgál.
-i, --tartalmazza: A HTTP-válaszok fejléceinek szerepeltetésére szolgál.
-4, --ipv4: A nevek Ipv4-címekké alakítására szolgál.
-6, --ipv6: A nevek Ipv6-címekké alakítására szolgál.
A göndörítés protokolljai
A Curl számos protokollt támogat:
A curl parancs telepítése
A curl parancs a legtöbb Linux disztribúciók. De ha a rendszer alapértelmezés szerint nem hordozza a curl-et. Kézzel kell telepítenie. A curl telepítéséhez hajtsa végre a következő parancsokat:
Frissítse a rendszert a következő parancsok végrehajtásával:
sudo apt update sudo apt upgrade
Most telepítse a curl segédprogramot az alábbi parancs végrehajtásával:
sudo apt install curl
Ellenőrizze a telepítést az alábbi parancs végrehajtásával:
curl -version
A fenti parancs megjeleníti a curl parancs telepített verzióját.
Töltse le a megadott URL tartalmát
Egy adott URL tartalmának lekéréséhez hajtsa végre a curl parancsot, majd írja be az URL-t. Fontolja meg az alábbi parancsot:
curl https://www.javatpoint.com/linux-tutorial
A fenti parancs lekéri a megadott oldal oldaladatait. Tekintsük a kimenet alábbi képét:
A fenti kimenetből láthatjuk, hogy az adott URL oldaladatai kerülnek lekérésre. A végrehajtás leállításához nyomja meg a CTRL+C billentyűket.
Adatok mentése egy adott fájlba
Ha egy adott fájlba szeretné menteni az adatokat, adja meg a „-o” opciót, majd a könyvtárat, a fájlnevet és az URL-t az alábbiak szerint:
curl -o /
Fontolja meg az alábbi parancsot:
curl -o /home/javatpoint/Documents/linux.html https://www.javatpoint.com/linux-tutorial
A fenti parancs a 'linux.html' fájlba menti az oldaladatokat a ' /home/javatpoint/Documents/' könyvtárba. Vegye figyelembe az alábbi kimenetet:
A fenti parancsból láthatjuk a letöltött adatok teljes mennyiségét, a fogadott adatokat, az átlagos időt és néhány egyéb statisztikát az adatokról.
A letöltött adatok ellenőrzéséhez nyissa meg a fájlt a cat parancs végrehajtásával
cd Documents cat linux.html
Tekintsük az alábbi kimeneti pillanatot:
Fájl letöltése az internetről
A curl egyik érdekes és lenyűgöző felhasználási módja, hogy letölthetünk egy fájlt az internetről. Fájl internetről való letöltéséhez másolja ki a letöltési hivatkozást, és illessze be a curl paranccsal. Más érveket is átadhatunk, hogy pontosabbá tegyük. Például töltse le az ubuntu legújabb verzióját, másolja ki a letöltési link az ubuntu hivatalos webhelyéről, és illessze be a curl paranccsal az alábbiak szerint:
curl -o /home/javatpoint/Documents/ubuntu20.04.iso https://ubuntu.com/download/desktop/thank-you?version=20.04&architecture=amd64
A fenti parancs letölti az Ubuntu 20.04-et a megadott könyvtárba. Adja meg a megfelelő fájlkiterjesztést; ellenkező esetben a fájlt más formátumban tölti le. Vegye figyelembe az alábbi kimenetet:
A fenti kimenetről az ubuntu.iso fájl letöltése folyamatban van. Láthatjuk a letöltési időt, a fájlméretet, a letöltési sebességet és egyéb statisztikákat. A végrehajtás leállításához bármikor nyomja meg a CTRL+D billentyűket.
Folytassa a megszakított letöltéseket
Előfordulhat, hogy a letöltések valamilyen okból megszakadnak. A letöltést a curl paranccsal folytathatjuk. A megszakított fájl folytatásához adja át a '-C' opciót curl paranccsal az alábbiak szerint:
curl -C
A fenti parancs folytatja a megadott URL letöltését.
Több fájl letöltése
Több fájl letöltéséhez adja meg a több URL-címet szóközzel elválasztva az alábbiak szerint:
curl -O
A fenti parancs mindkét URL-ről letölti az adatokat.
HTTP-fejlécek lekérdezése
A HTTP fejlécek további információkat tartalmaznak; lehetővé teszi a webszerver számára ezen információk letöltését. A HTTP-fejlécek webhelyről történő lekérdezéséhez hajtsa végre a parancsot az '-I' opcióval az alábbiak szerint:
curl -I www.javatpoint.com
A fenti parancs az alábbi kimenetet produkálja: