CURL

Linux.fista
Versio hetkellä 14. lokakuuta 2009 kello 22.06 – tehnyt Pb (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

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

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 komentoriviskriptien 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

Paketinhallinan kautta

cURL löytyy useimpien jakeluiden paketinhallinnasta nimellä curl.

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 komentorivi-ikkunaan, joka binääritiedoston tapauksessa voi aiheuttaa jopa sen sekoamisen. -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