Curl: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Osoom (talk | contribs)
No edit summary
Osoom (talk | contribs)
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
<h1>Olive Soom teeb seda teemat.(POOLELI)</h1>
 


====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===
===Võimaldused===
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===
===Võrdlus samalaadsete utilititega===
 
====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  

[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