cURL

Linux.fista
Siirry navigaatioon Siirry hakuun
Tulostettavaa versiota ei enää tueta ja siinä voi olla renderöintivirheitä. Päivitä selaimesi kirjanmerkit ja käytä selaimen tavallista tulostustoimintoa sen sijaan.

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

Paketinhallinnan kautta

cURL löytyy useimpien jakeluiden paketinhallinnasta nimellä curl. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Kääntäminen lähdekoodista

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ö

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

Aiheesta muualla