Ero sivun ”CURL” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(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:
'''libcurl''' on [[URL]]-osoitteiden hakemista varten kirjoitettu kirjasto. '''cURL''' on sen komentorivipohjainen käyttöliittymä ja esimerkkitoteutus.
{{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 kilapilijaansa [[Wget]]iin verrattuna on, että siinä on laaja tuki eri tiedonsiirto[[protokolla|protokollille]]. Kirjoitushetkellä (5.12.2008) libcurl tukee kaikkiaan seuraavia protokollia:
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.


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, [[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, [[proxy]]ille, [[keksi|kekseille]], tunnistautumiselle, keskeytyneen tiedonsiirron jatkamiselle ja joukolle muita toimintoja.
 
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 komentoriviskriptien tekijöiden suosiossa. Wgetin etu cURLiin on tuki rekursiolle, joka cURLista puuttuu kokonaan. cURLin pääkehittäjä on ruotsalainen Daniel Stenberg, kun taas Wget on GNU-säätiön alainen GPL-projekti.


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==
===Debian===
===Paketinhallinnan kautta===
apt-get install curl
{{Asenna|cURL|curl}}
 
===Lähdekoodi===
:Katso myös: [[Kääntäminen]]
cURLin asentaminen lähdekoodista voi olla aloittelijalle melko haastava tehtävä. Sinun on varmistettava, että järjestelmässä on saatavilla [[OpenSSL]] ja <tt>[[zlib]]</tt>-kehityskirjastot (header-tiedostot). Tarvitset myös mahdollisesti [[OpenLDAP]]:n kehityskirjaston, mikäli haluat käyttää [[LDAP]]-protokollaa ja <tt>libssh2</tt>:n SCP:tä ja SFTP:tä varten. Nämä paketit ovat useimmissa distribuutioissa nimillä <tt>libssl-dev, zlib-dev, libldap2-dev ja libssh2-dev</tt>.
 
apt-get install libssl-dev zlib1g-dev libldap2-dev libssh2-dev
 
Tämän jälkeen hae uusin lähdekoodipaketti cURL:in [http://curl.haxx.se/ kotisivulta] Download -otsikon alta ja pura se.


tar zxvf curl-7.19.2.tar.gz
===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>.


Kun paketti on purettu, sen voi poistaa.
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:
Tee 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ä distribuutioissa turvallista kerätä itse käännettyjä ohjelmia). Suorita asennus loppuun kirjautumalla [[root]]-käyttäjänä ja antamalla samassa hakemistossa komento:
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 [[kernel]]in samalta palvelimelta. ''Huom!'' <tt>-O</tt> -valitsimen käyttö on erittäin tärkeeä, sillä muutoin cURL kirjoittaa haettavan tiedoston sisällön terminaaliin, joka binääritiedoston tapauksessa voi aiheuttaa jopa terminaalin sekoamisen. <tt>-O</tt> -valitsimella tulostus ohjautuu haettavan tiedoston mukaiseen nimeen. Saman ajaisi [[sh]]-shellissä (esim. bash) uudelleenohjattu komento:
 
  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ää cURLin toiminnasta saa tietää helpointen man-sivulta.
Lisätietoja cURLin toiminnasta löytyy sen [[man]]-sivulta.
 
  man curl
  man curl


==Katso myös==
==Katso myös==
*[[Wget]]
*[[Wget]]
*[[URL]]
*[[HTTP]]
*[[HTTP]]


==Muualla==
==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

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]