Curl

From EIK wiki


Versioon

1.0

Viimati muudetud

20.12.2011 Artikkel avaldamiseks valmis

Eesmärk

Antud artikli eesmärk on tutvustada CURL'i ja temaga kaasneva cURL'i võimalusi. Artikkel jaguneb kaheks osaks. Esimeses osas on teooria ning teises osas on praktiline osa. Artikkel on tehtud eelkõike Linuxi kasutajat silmas pidades, kuid sobib ka muude op.süsteemide kasutajatele.

Eeldused

Kuna tegemist on pelgalt tutvustava artikliga, siis ei sa nõuda mingeid erilisi oskusi ja teadmisi. Soovituslikult oleks hea, et lugeja/kasutaja oskaks kasutada Linuxi käsurida ja teaks midagi directory tree'st. Samas tulevad kasuks teadmised erinevatest Interneti protokollidest. Samas nagu sai mainitud, on kõik soovituslik, mitte kohustuslik.

Sissejuhatus

CURL on vaba tarkvara projekt, mille põhieesmärgiks on toota multi-platvormilist tarkvara mis võimaldab andmete ülekannet üle mitmete võrgu protokollide. CURL lasti esmakordselt välja aastal 1997 ning selle alla kuulub library, mille nimeks on libcurl ning käsurea tööriist nimega cURL.

Üldandmed

Nagu ülalpool mainitud, lasti cURL esmakordselt välja aastal 1997. Projekti autoriks oli Daniel Stenberg. Siinkohal oleks tark mainida, et läbi aastate on projekti sisse panustanud suur hulk inimesi. cURL'i programmeerimiskeeleks on C. Viimane, stabiilne, curl versioon, versioon 7.23.1, lasti välja 2011.aasta 17. Novembril.

libcurl

libcurl'i puhul on tegemist vabavaralise kliendi-poolse teegiga, mille eesmärgiks on URL'ide transport, kasutades mitmeid erinevaid võrguprotokolle. libcurli'i toetab neist järgnevaid: FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, Telnet, DICT, LDAP, LDAPS, IMAP, POP3, SMTP, RTSP, ning toetab URI. Samuti toetab antud teek ka HTTPS sertifikaate, HTTP POST'i , HTTP PUT'i, FTP üleslaadmist, Kerberost, HTTP põhinevat üleslaadimist, proxysi'si, "küpsiseid(cookies)", kasutajanimi+salasõna põhilist autenteerimist jpt. libcurl'i teek on suhteliselt universaalne. See töötab samasuguselt mitmetel platvormidel nagu näiteks: Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Symbian, Amiga, OS/2, BeOS, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare ning DOS. Nagu ülalpool sai mainitud, on libcurl'i nimeline teek tasuta, kindel ohtude suhtes, kokkusobiv IPv6-ga ning suhteliselt kiire. API'd,libcurl'i kasutamiseks, on olemas ligi 40'l programmeerimis keeles.[1]

cURL

cURL'i puhul on tegemist käsurea tööriistaga, mis võimaldab faile saada ja saata, kasutades URL'i süntaksi. Kuna cURL kasutab libcurl'i , toetab cURL suurel hulgal laialt levinuid Interneti protokolle, sealhulgas HTTP'd, HTTPS'i, FTP'd, FTPS'i, SCP'id, SFTP'd, TFTP'd, LDAP'i, LDAPS'i, DICT'i, TELNET'i, FILE'd, IMAP'i , POP3'e, SMTP'd ning RTSP'd. (Nimetatutest viimast nelja toetab cURL alates versioonist 7.20.0 või kuupäevast 9. veebruar 2010.). cURL'i peamine eesmärk on failide ülekandmine üle eelpool mainitud protokollide, kasutades käsurida. Selle kasulikus seisneb selles,et neid käske saab integreerida nii UNIX'i skriptide kui ja Windows batch'i failide sisse ning sellega kaasneb võimalus paljusi URL'iga seotuid tegevusi automatiseerida.[2][3]

Paigaldamine

Ubuntu kasutajad, kes kasutavad Ubuntu Desktop'i versiooni saavad selle paigaldada enda arvutile kasutades nii Ubuntu Software Center'it kui ka teha käsurealt. Ubuntu Server op. süsteemi kasutavad isikud saavad seda teha seda käsurealt. Käsureale tuleb sisestada järgnev käsk.

 sudo apt-get install curl

Olles root'i õigustes, tuleb lihtsalt sisestada käsk.

 apt-get install curl

Nagu varem sai mainitud, on cURL mitme-platvormiline, ning cURL'i paigaldamine erinevate platvormide peale käib erinevalt.
Järgneva lingi alt on võimalik leida õpetused erinevate platvormidele paigaldamise kohta: cURL paigaldamine

Kasutamine

cURL'i kasutamiseks tuleb vastav käsk lihtsalt kirjutada käsureale. Kui antud käsk on korrektne, väljastatakse väljundiks antud URL'i source code või kuvatakse process bar. Järgnevalt on lisatud siia hulga kasulikke käsklusi, mida võib rohkem vaja minna.

Tavalise URL'i lugemine
curl <URL> 

Näide:

curl http://www.google.com

Turvatud URL'i lugemine käib täpselt samamoodi nagu tavalise URL'i lugemine

curl <URL>

Näide: https://www.swedbank.ee

URL'i faili salvestamine

Väljund, milleks on source code, salvestatakse faili.

curl -o <failinimi> <URL>

Näide:

curl -o leht.html http://www.python.org 
Autenteerimist vajava lehe lugemine

Mõnele lehele sissepääsemiseks on vaja teada kasutajanime ja salasõna.

 curl -u <kasutajanimi>:<salasõba> <URL>  

Näide:

 curl -u nipi:tiri http://www.koduleht.ee  
Suunamisega URL

Mõningatel juhtudel, on leheküljed suunatud. Vaikimisi cURL seda ei tuvastada, ning tulemust ei pruugi tulla. Selle vältimiseks tuleks kasutada järgmist käsku:

curl -L <URL> 

Näide:

curl -L http://www.mingilehekülg.ee 
URL päise lugemine

Näitamaks ainult lehe päist. Seda käsku saab kasutada igasuguse URL'i puhul

curl --head <URL>

Näide:

curl --head http://www.google.com

Dokumendi päise laadimine faili

curl --dump-header <fail> <URL>

Näide:

curl --dump-header headers.txt http://www.delfi.ee 
FTP

Selleks, et näha mis asjad leiduvad FTP kaustas. Selleks sisesta käsk:

curl ftp://<kasutajanimi>:<salasõna>@ftp serveri aadress

Näide:

curl ftp://nipi:tiri@server.com 

Näha teatud kausta FTP serveris, sisesta käsk:

curl ftp://<kasutajanimi>:<salasõna>@ftpserveriaadress/vajalik_kaust

Näide:

curl ftp://nipi:tiri@server.com/minu_kaust 

Faili üleslaadimiseks ftp serverisse, tuleb sisestada järgmine:

curl -T <üleslaetava faili nimi> -u <kasutajanimi>:<salasõna> ftp://<server>/<üleslaetava faili uus nimi>

Näide:

curl -T koer.php -u nipi:tiri ftp://minuserver.com/koeruus.php 

Märkuseks: Üleslaetava faili nimi (näite puhul koer.php) laetakse ülesse nimega koeruus.php. Kui destination faili nimi on puudu, kopeeritakse fail serverisse source faili nimega. Vaikimisi kopeeritakse fail juurkausta. (./) Samas on võimalus fail kopeerida sinna kausta, kuhu vaja. Käsk on järgmine:

 curl -T <üleslaetav fail> -u <kasutajanimi>:<salasõna> ftp://<serverinimi>/<vajalik_kaust>/failinimi  

Näide:

 curl -T koer.php -u nipi:tiri ftp://server.com/kuut/koer.php  

[4]

Kasutatud materjal ning lisalugemist

Ametlik kodulehekülg
Põhilised cURL käsklused
FTP põhilised käsklused
Kuidas teha cURL'i abil teha oma veebisaidist backup
Viki lehekülg
Allalaadimine
Võrdlus samalaadsetega
Manual
Kogu dokumentatsioon

Autor

Oliver Soom A32