CURL

Linux.fista
Versio hetkellä 5. joulukuuta 2008 kello 12.36 – tehnyt Maakuth (keskustelu | muokkaukset) (pikkuparantelua)
Siirry navigaatioon Siirry hakuun

libcurl on URL-osoitteiden hakemista varten kirjoitettu kirjasto. cURL on sen komentorivipohjainen käyttöliittymä ja esimerkkitoteutus.

cURL on erittäin monipuolinen ohjelma tarkoitukseensa. Sen vahvana puolena kilapilijaansa Wgetiin verrattuna on, että siinä on laaja tuki eri tiedonsiirtoprotokollille. Kirjoitushetkellä (5.12.2008) libcurl tukee kaikkiaan 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, proxyille, 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.


Asentaminen

Debian

apt-get install 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 zlib-kehityskirjastot (header-tiedostot). Tarvitset myös mahdollisesti OpenLDAP:n kehityskirjaston, mikäli haluat käyttää LDAP-protokollaa ja libssh2:n SCP:tä ja SFTP:tä varten. Nämä paketit ovat useimmissa distribuutioissa nimillä libssl-dev, zlib-dev, libldap2-dev ja libssh2-dev.

apt-get install libssl-dev zlib1g-dev libldap2-dev libssh2-dev

Tämän jälkeen hae uusin lähdekoodipaketti cURL:in kotisivulta Download -otsikon alta ja pura se.

tar zxvf curl-7.19.2.tar.gz

Kun paketti on purettu, sen voi poistaa.

rm curl-7.19.2.tar.gz

Tee 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ä distribuutioissa 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ö

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 kernelin samalta palvelimelta. Huom! -O -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. -O -valitsimella tulostus ohjautuu haettavan tiedoston mukaiseen nimeen. Saman ajaisi sh-shellissä (esim. bash) 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ää cURLin toiminnasta saa tietää helpointen man-sivulta.

man curl

Katso myös

Aiheesta muualla