CURL

cURL (dilafalkan 'curl') adalah sebuah proyek perangkat lunak komputer yang menyediakan pustaka (libcurl) dan perkakas baris perintah (curl) untuk pentransferan data menggunakan berbagai protokol jaringan. Nama cURL merupakan singkatan dari "Client URL" yang dirilis pada tahun 1997.

Sejarah 
cURL dirilis pada tahun 1997. cURL awalnya dinamai httpget dan kemudian menjadi urlget sebelum memakai versi namanya saat ini. Penulis asli dan pengembang utamanya ialah seorang pengembang Swedia Daniel Stenberg, yang membuat cURL dikarenakan ia ingin mengotomatisasi pengambilan data nilai tukar mata uang untuk para pengguna IRC.

libcurl 
libcurl adalah pustaka transfer URL sisi klien yang bebas. libcurl mendukung kuki, DICT, FTP, FTPS, Gopher, HTTP/1 (dengan dukungan HTTP/2 dan HTTP/3), HTTP POST, HTTP PUT, tunneling proksi HTTP, HTTPS, IMAP, Kerberos, LDAP, MQTT, POP3, RTSP, RTMP, SCP, SMTP, dan SMB. Pustaka ini mendukung skema URI file, SFTP, Telnet, TFTP, pelanjutan transfer berkas, pengunggahan FTP, pengunggahan berbasis form HTTP, sertifikasi HTTPS, LDAPS, proksi, dan otentikasi pengguna-ditambah-sandi.

Pustaka libcurl merupakan pustaka yang portabel. Pustaka ini dapat dibangun dan bekerja dengan serupa dalam banyak platform, termasuk AIX, AmigaOS, Android, BeOS, BlackBerry Tablet OS dan BlackBerry 10, OpenVMS, Darwin, DOS, FreeBSD, HP-UX, HURD, iOS, IRIX, Linux, macOS, NetBSD, NetWare, OpenBSD, OS/2, QNX Neutrino, RISC OS, Solaris, Symbian, Tru64, Ultrix, UnixWare, dan Microsoft Windows.

Pustaka libcurl merupakan pustaka yang bebas, thread-safe dan kompitabel dengan IPv6. Pengikatan tersedia untuk lebih dari 40 bahasa pemrograman, termasuk C/C++, Java, PHP, dan Python.

Pustaka libcurl mampu mendukung axTLS, GnuTLS, mbed TLS, NSS, QSOSSL di IBM i, SChannel di Windows, Secure Transport di macOS dan iOS, SSL/TLS melalui OpenSSL, dan wolfSSL.

cURL 
cURL adalah sebuah perkakas baris perintah untuk mendapatkan dan mengirim data termasuk berkas-berkas dengan menggunakan sintaks URL. Karena cURL menggunakan libcurl, maka cURL dapat mendukung setiap protokol yang didukung oleh libcurl.

cURL mendukung HTTPS dan secara baku melakukan verifikasi sertifikat SSL ketika protokol aman ditentukan, seperti protokol HTTPS. Ketika cURL terhubung ke sebuah peladen jarak jauh melalui HTTPS, cURL akan memperoleh sertifikat peladen jarak jauh, kemudian memeriksa terhadap gerai keabsahan sertifikat CA dari peladen jarak jauh untuk memastikan peladen jarak jauh merupakan pengklaim sertifikat tersebut. Beberapa paket cURL dibundel dengan berkas gerai sertifikat CA. Ada beberapa opsi untuk menentukan sertifikat CA seperti dengan parameter baris perintah --cacert dan --capath. Opsi --cacert dapat dipakai untuk menentukan lokasi berkas gerai sertifikat CA. Pada sistem operasi Windows, jika sebuah berkas sertifikat CA tidak ditentukan, cURL akan mencari nama berkas sertifikat CA "curl-ca-bundle.crt" dengan urutan sebagai berikut:
 Direktori di mana program cURL ditempatkan.
 Direktori saat ini.
 Direktori sistem Windows.
 Direktori Windows.
 Direktori-direktori yang ditentukan pada variabel lingkungan %PATH%.

cURL akan menampilkan sebuah pesan galat bila peladen jarak jauh menggunakan sertifikat yang ditandatangani sendiri, atau bila sertifikat peladen jarak jauh tidak ditandatangani oleh CA yang terdaftar dalam berkas sertifikat CA. Parameter -k atau --insecure adalah opsi yang dapat digunakan untuk melewati langkah-langkah verifikasi sertifikat. Cara alternatif yang lain, jika peladen jarak jauh dapat dipercayai, sertifikat CA peladen jarak jauh dapat ditambahkan ke berkas gerai sertifikat CA.

Contoh 
Penggunaan dasar cURL yaitu dengan mengetik curl pada baris perintah dan kemudian diikuti dengan URL:

$ curl www.example.com

cURL bakunya menampilkan output yang diambilnya berdasarkan output standar yang ditentukan pada sistem (biasanya jendela terminal). Jadi, menjalankan perintah di atas pada kebanyakan sistem operasi akan menampilkan kode sumber www.example.com di jendela terminal. Parameter -o dapat digunakan untuk menyimpan output dalam berkas:
$ curl -o example.html www.example.com

Lihat pula 

 curl-loader – perkakas pengujian sumber terbuka yang berbasis pada cURL.
 libwww – pustaka sebelum cURL yang dilengkapi dengan antarmuka baris perintah.
 PowerShell – iwr (Invoke-WebRequest) Windows PowerShell mempunyai fungsionalitas mirip dengan cURL; klien Web kelas juga.
 Web crawler – bot internet yang dapat meng-crawl situs web.
 Wget – perkakas baris perintah yang serupa tanpa ada pustaka yang terkait, tetapi mampu mengunduh secara rekursif.

Referensi

Pranala luar 
  
  Perbandingan cURL vs perkakas unduh sumber terbuka lainnya
  Perbandingan cURL vs wget

Perangkat lunak tahun 1997
Pustaka C
Perangkat lunak baris perintah
Perangkat lunak bebas lintas platform
Manajer unduhan
Perangkat lunak bebas yang diprogram dengan C