Ero sivun ”CURL” versioiden välillä
(Ak: Uusi sivu: '''libcurl''' on URL-osoitteiden hakemista varten kirjoitettu kirjasto. '''cURL''' on sen komentorivipohjainen käyttöliittymä ja esimerkkitoteutus. cURL on erittäin monipuoli...) |
|||
(8 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
''' | {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | ||
'''cURL''' on sen [[komentorivi]]pohjainen käyttöliittymä ja esimerkkitoteutus [[URL]]-osoitteiden hakemista varten tehdylle '''libcurl'''-[[kirjasto]]lle. | |||
cURL on erittäin monipuolinen ohjelma tarkoitukseensa. Sen vahvana puolena | cURL on erittäin monipuolinen ohjelma tarkoitukseensa. Sen vahvana puolena esimerkiksi [[Wget]]iin verrattuna on, että siinä on laaja tuki eri tiedonsiirto[[protokolla|protokollille]]. Kirjoitushetkellä (14.10.2009) libcurl tukee seuraavia protokollia: [[FTP]], FTPS, [[HTTP]], [[HTTPS]], [[SCP]], [[SFTP]], TFTP, [[Telnet|TELNET]], DICT, [[LDAP]], LDAPS ja FILE. | ||
Siinä on myös tuki mm. [[SSL]]-sertifikaateille, HTTP-lähetykselle, FTP-lähetykselle, [[wikipedia:fi:välityspalvelin|välityspalvelimille]], [[wikipedia:fi:eväste|evästeille]], tunnistautumiselle ja keskeytyneen tiedonsiirron jatkamiselle. | |||
Siinä on myös tuki mm. SSL-sertifikaateille, HTTP-lähetykselle, FTP-lähetykselle, [[ | |||
Useimpiin käyttötarkoituksiin riittää GNU:n [[Wget]], joka on useimpien mielestä myös helppokäyttöisempi ja selkeämpi toiminnaltaan. Wget on [[GPL]]-lisenssin alainen, kun taas cURL on vapaasti käytettävissä ja jatkokehitettävissä myös suljetun koodin järjestelmissä [[MIT-lisenssi]]n alaisuudessa. cURLissa on myös parempi tuki virhetilojen raportoinnille ja on siksi etenkin komentorivi [[skripti]]en tekijöiden suosiossa. Wgetin etu cURLiin on tuki rekursiiviselle lataukselle, joka cURLista puuttuu kokonaan. cURLin pääkehittäjä on ruotsalainen Daniel Stenberg, kun taas Wget on GNU-säätiön alainen GPL-projekti. | |||
==Asentaminen== | ==Asentaminen== | ||
=== | ===Paketinhallinnan kautta=== | ||
{{Asenna|cURL|curl}} | |||
===Kääntäminen lähdekoodista=== | |||
cURLin [[kääntäminen]] [[lähdekoodi]]sta voi olla aloittelijalle melko haastava tehtävä. On varmistettava, että järjestelmässä on saatavilla [[OpenSSL]]- ja <tt>[[zlib]]</tt>-kehityskirjastot (header-tiedostot). Tarvitaan myös mahdollisesti [[OpenLDAP]]:n kehityskirjasto, mikäli halutaan käyttää [[LDAP]]-protokollaa ja <tt>libssh2</tt>:n SCP:tä ja SFTP:tä varten. Nämä paketit ovat useimmissa jakeluissa nimillä <tt>libssl-dev</tt>, <tt>zlib-dev</tt>, <tt>libldap2-dev</tt> ja <tt>libssh2-dev</tt></tt> tai <tt>openssl-devel</tt>, <tt>zlib-devel</tt>/<tt>zlib1-devel</tt>, <tt>libldap2-devel</tt> ja <tt>libssh-devel</tt>. | |||
Tämän jälkeen haetaan uusin lähdekoodipaketti cURL:in [http://curl.haxx.se/ kotisivulta] Download-otsikon alta ja puretaan se. | |||
[[tar]] zxvf curl-7.19.2.tar.gz | |||
Kun paketti on purettu, voi sen poistaa. | |||
rm curl-7.19.2.tar.gz | rm curl-7.19.2.tar.gz | ||
Tehdään varsinainen käännös: | |||
cd curl-7.19.2/ | cd curl-7.19.2/ | ||
./configure | ./configure | ||
make | [[make]] | ||
Tämän jälkeen cURL on käännetty ja ohjelmoitu asentumaan <tt>/usr/local</tt> hakemistopuun alle (jonne on nykyisissä | Tämän jälkeen cURL on käännetty ja ohjelmoitu asentumaan <tt>/usr/local</tt> hakemistopuun alle (jonne on nykyisissä jakeluissa turvallista kerätä itse käännettyjä ohjelmia). Suorita asennus loppuun kirjautumalla [[root]]-käyttäjänä ja antamalla samassa hakemistossa komento: | ||
make install | make install | ||
==Käyttö== | ==Käyttö== | ||
cURLin käyttö on erittäin monipuolista. Esimerkiksi komento | cURLin käyttö on erittäin monipuolista. Esimerkiksi komento | ||
curl <nowiki>ftp://ftp.funet.fi/pub/</nowiki> | curl <nowiki>ftp://ftp.funet.fi/pub/</nowiki> | ||
listaa Funet-palvelimen julkisen FTP-hakemiston sisällön, kun taas | |||
listaa Funet-palvelimen julkisen FTP-hakemiston sisällön, kun taas | |||
curl -O <nowiki>ftp://ftp.funet.fi/pub/Linux/kernel/v2.6/linux-2.6.27.7.tar.bz2</nowiki> | curl -O <nowiki>ftp://ftp.funet.fi/pub/Linux/kernel/v2.6/linux-2.6.27.7.tar.bz2</nowiki> | ||
hakee viimeisimmän [[ydin|ytimen]] samalta palvelimelta. ''Huom!'' <tt>-O</tt> -valitsimen käyttö on erittäin tärkeää, sillä muutoin cURL kirjoittaa haettavan tiedoston sisällön [[standardiulostulo]]on. <tt>-O</tt> -valitsimella tulostus ohjautuu haettavan tiedoston mukaiseen nimeen. Saman ajaisi uudelleenohjattu komento | |||
hakee viimeisimmän [[ | |||
curl <nowiki>ftp://ftp.funet.fi/pub/Linux/kernel/v2.6/linux-2.6.27.7.tar.bz2</nowiki> > linux-2.6.27.7.tar.bz2 | curl <nowiki>ftp://ftp.funet.fi/pub/Linux/kernel/v2.6/linux-2.6.27.7.tar.bz2</nowiki> > linux-2.6.27.7.tar.bz2 | ||
Mutta <tt>-O</tt> -valitsimen käyttö on selvästi helpompaa. | Mutta <tt>-O</tt> -valitsimen käyttö on selvästi helpompaa. | ||
Lisätietoja cURLin toiminnasta löytyy sen [[man]]-sivulta. | |||
man curl | man curl | ||
==Katso myös== | ==Katso myös== | ||
*[[Wget]] | *[[Wget]] | ||
*[[HTTP]] | *[[HTTP]] | ||
== | ==Aiheesta muualla== | ||
*[http://curl.haxx.se/ Kotisivu] | *[http://curl.haxx.se/ Kotisivu] | ||
*[http://daniel.haxx.se/docs/curl-vs-wget.html cURLin ja Wgetin eroista] | *[http://daniel.haxx.se/docs/curl-vs-wget.html cURLin ja Wgetin eroista] | ||
[[Luokka:Tiedonsiirto]] | |||
[[Luokka:Komentorivin perustyökalut]] |
Nykyinen versio 8. maaliskuuta 2017 kello 14.15
cURL on sen komentorivipohjainen käyttöliittymä ja esimerkkitoteutus URL-osoitteiden hakemista varten tehdylle libcurl-kirjastolle.
cURL on erittäin monipuolinen ohjelma tarkoitukseensa. Sen vahvana puolena esimerkiksi Wgetiin verrattuna on, että siinä on laaja tuki eri tiedonsiirtoprotokollille. Kirjoitushetkellä (14.10.2009) libcurl tukee seuraavia protokollia: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS ja FILE.
Siinä on myös tuki mm. SSL-sertifikaateille, HTTP-lähetykselle, FTP-lähetykselle, välityspalvelimille, evästeille, tunnistautumiselle ja keskeytyneen tiedonsiirron jatkamiselle.
Useimpiin käyttötarkoituksiin riittää GNU:n Wget, joka on useimpien mielestä myös helppokäyttöisempi ja selkeämpi toiminnaltaan. Wget on GPL-lisenssin alainen, kun taas cURL on vapaasti käytettävissä ja jatkokehitettävissä myös suljetun koodin järjestelmissä MIT-lisenssin alaisuudessa. cURLissa on myös parempi tuki virhetilojen raportoinnille ja on siksi etenkin komentorivi skriptien tekijöiden suosiossa. Wgetin etu cURLiin on tuki rekursiiviselle lataukselle, joka cURLista puuttuu kokonaan. cURLin pääkehittäjä on ruotsalainen Daniel Stenberg, kun taas Wget on GNU-säätiön alainen GPL-projekti.
Asentaminen[muokkaa]
Paketinhallinnan kautta[muokkaa]
cURL löytyy useimpien jakeluiden paketinhallinnasta nimellä curl. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.
Kääntäminen lähdekoodista[muokkaa]
cURLin kääntäminen lähdekoodista voi olla aloittelijalle melko haastava tehtävä. On varmistettava, että järjestelmässä on saatavilla OpenSSL- ja zlib-kehityskirjastot (header-tiedostot). Tarvitaan myös mahdollisesti OpenLDAP:n kehityskirjasto, mikäli halutaan käyttää LDAP-protokollaa ja libssh2:n SCP:tä ja SFTP:tä varten. Nämä paketit ovat useimmissa jakeluissa nimillä libssl-dev, zlib-dev, libldap2-dev ja libssh2-dev tai openssl-devel, zlib-devel/zlib1-devel, libldap2-devel ja libssh-devel.
Tämän jälkeen haetaan uusin lähdekoodipaketti cURL:in kotisivulta Download-otsikon alta ja puretaan se.
tar zxvf curl-7.19.2.tar.gz
Kun paketti on purettu, voi sen poistaa.
rm curl-7.19.2.tar.gz
Tehdään varsinainen käännös:
cd curl-7.19.2/ ./configure make
Tämän jälkeen cURL on käännetty ja ohjelmoitu asentumaan /usr/local hakemistopuun alle (jonne on nykyisissä jakeluissa turvallista kerätä itse käännettyjä ohjelmia). Suorita asennus loppuun kirjautumalla root-käyttäjänä ja antamalla samassa hakemistossa komento:
make install
Käyttö[muokkaa]
cURLin käyttö on erittäin monipuolista. Esimerkiksi komento
curl ftp://ftp.funet.fi/pub/
listaa Funet-palvelimen julkisen FTP-hakemiston sisällön, kun taas
curl -O ftp://ftp.funet.fi/pub/Linux/kernel/v2.6/linux-2.6.27.7.tar.bz2
hakee viimeisimmän ytimen samalta palvelimelta. Huom! -O -valitsimen käyttö on erittäin tärkeää, sillä muutoin cURL kirjoittaa haettavan tiedoston sisällön standardiulostuloon. -O -valitsimella tulostus ohjautuu haettavan tiedoston mukaiseen nimeen. Saman ajaisi uudelleenohjattu komento
curl ftp://ftp.funet.fi/pub/Linux/kernel/v2.6/linux-2.6.27.7.tar.bz2 > linux-2.6.27.7.tar.bz2
Mutta -O -valitsimen käyttö on selvästi helpompaa.
Lisätietoja cURLin toiminnasta löytyy sen man-sivulta.
man curl