Curl: Difference between revisions
No edit summary |
|||
(40 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
====Versioon==== | ====Versioon==== | ||
1.0 | |||
====Viimati muudetud==== | ====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 <i>directory tree</i>'st. Samas tulevad kasuks teadmised erinevatest Interneti protokollidest. Samas nagu sai mainitud, on kõik soovituslik, mitte kohustuslik. | |||
===Sissejuhatus=== | ===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 <i>library</i>, mille nimeks on libcurl ning käsurea tööriist nimega cURL. | |||
===Üldandmed=== | ===Ü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.[http://en.wikipedia.org/wiki/CURL] | |||
===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.[http://www.codediesel.com/tools/6-essential-curl-commands/][http://en.wikipedia.org/wiki/CURL] | |||
===Paigaldamine=== | ===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.<br /> | |||
Järgneva lingi alt on võimalik leida õpetused erinevate platvormidele paigaldamise kohta: [http://curl.haxx.se/docs/install.html cURL paigaldamine] | |||
===Kasutamine=== | ===Kasutamine=== | ||
=== | |||
====Autor | cURL'i kasutamiseks tuleb vastav käsk lihtsalt kirjutada käsureale. Kui antud käsk on korrektne, väljastatakse väljundiks antud URL'i <i>source code</i> või kuvatakse <i>process bar</i>. | ||
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 <i>source code</i>, 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 | |||
<b>Märkuseks</b>: | |||
Üleslaetava faili nimi (näite puhul koer.php) laetakse ülesse nimega koeruus.php. Kui <i>destination</i> faili nimi on puudu, kopeeritakse fail serverisse <i>source</i> 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 | |||
[http://www.codediesel.com/tools/6-essential-curl-commands/] | |||
===Kasutatud materjal ning lisalugemist=== | |||
[http://curl.haxx.se/ Ametlik kodulehekülg]<br /> | |||
[http://www.codediesel.com/tools/6-essential-curl-commands/ Põhilised cURL käsklused]<br /> | |||
[http://linux.byexamples.com/archives/320/using-curl-to-access-ftp-server/ FTP põhilised käsklused]<br /> | |||
[http://www.web-development-blog.com/archives/create-custom-backups-from-your-website-using-curl/ Kuidas teha cURL'i abil teha oma veebisaidist backup]<br /> | |||
[http://en.wikipedia.org/wiki/CURL Viki lehekülg]<br /> | |||
[http://curl.haxx.se/download.html Allalaadimine]<br /> | |||
[http://curl.haxx.se/docs/comparison-table.html Võrdlus samalaadsetega]<br /> | |||
[http://curl.haxx.se/docs/manpage.html Manual]<br /> | |||
[http://curl.haxx.se/docs/ Kogu dokumentatsioon]<br /> | |||
===Autor=== | |||
Oliver Soom A32 | Oliver Soom A32 | ||
[[Category:IT infrastruktuuri teenused]] | [[Category:IT infrastruktuuri teenused]] | ||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 22:52, 20 December 2011
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
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