CURL
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