cURL

perangkat lunak transfer berkas bebas


cURL (dilafalkan 'curl'[4]) 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"[5] yang dirilis pada tahun 1997.[6]

CURL
Contoh output dari perintah curl -O
Tipecommand-line tool, Pustaka perangkat lunak, perangkat lunak bebas dan HTTP client
Versi pertama1997; 27 tahun lalu (1997)[1]
Versi stabil
8.7.1 (27 Maret 2024)
GenreKlien FTP / Klien HTTP
LisensiPerangkat lunak bebas: Lisensi turunan MIT/X
Bahasa
Karakteristik teknis
Sistem operasiAIX, AmigaOS, BeOS, Chrome NaCl, DOS, DragonFly BSD, FreeBSD, GNU-Darwin, HPUX, Haiku, Hurd, IRIX, Linux, macOS, MiNT, Midnight BSD, Minix, NetBSD, NetWare, Nexenta, OS/2, Open Server, OpenBSD, Plan9, QNX, RISC OS, Solaris, Syllable, Tru64 UNIX, UnixWare, VMS, Microsoft Windows, z/OS
Metode inputAntarmuka baris perintah
Bahasa pemrogramanC
Informasi pengembang
PembuatDaniel Stenberg[2]
PengembangPara kontributor proyek cURL
Informasi tambahan
Situs webcurl.se (Inggris)
Stack ExchangeEtiqueta
Pelacakan kesalahanLaman pelacakan
Free Software Directorycurl
Panduan penggunaLaman panduan
Sunting di Wikidata Sunting di Wikidata • Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini

Sejarah sunting

cURL dirilis pada tahun 1997.[6] cURL awalnya dinamai httpget dan kemudian menjadi urlget sebelum memakai versi namanya saat ini.[7][8] 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.[2]

libcurl sunting

libcurl adalah pustaka transfer URL sisi klien yang bebas.[9] libcurl mendukung kuki, DICT, FTP, FTPS, Gopher, HTTP/1[10] (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.[11]

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,[12] 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.[13]

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,[14] GnuTLS, mbed TLS, NSS, QSOSSL di IBM i, SChannel di Windows, Secure Transport di macOS dan iOS, SSL/TLS melalui OpenSSL, dan wolfSSL.

cURL sunting

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.[11]

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:

  1. Direktori di mana program cURL ditempatkan.
  2. Direktori saat ini.
  3. Direktori sistem Windows.
  4. Direktori Windows.
  5. Direktori-direktori yang ditentukan pada variabel lingkungan %PATH%.[15]

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 sunting

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 sunting

  • curl-loader – perkakas pengujian sumber terbuka yang berbasis pada cURL.
  • libwww – pustaka sebelum cURL yang dilengkapi dengan antarmuka baris perintah.
  • PowerShelliwr (Invoke-WebRequest) Windows PowerShell mempunyai fungsionalitas mirip dengan cURL; klien Web kelas juga.[16]
  • 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 sunting

  1. ^ "History of curl - How curl Became Like This". curl. Diarsipkan dari versi asli tanggal 30 September 2017. Diakses tanggal 17 November 2016. Daniel simply adopted an existing command-line open-source tool, httpget, that Brazilian Rafael Sagula had written and recently release version 0.1 of. After a few minor adjustments, it did just what he needed. […] HttpGet 1.0 was released on April 8th 1997 with brand new HTTP proxy support. […] Stenberg was spending time writing an IRC bot for an Amiga related channel on EFnet. He then came up with the idea to make currency-exchange calculations available to Internet Relay Chat (IRC) users. 
  2. ^ a b Stenberg, Daniel (20 Maret 2015). "curl, 17 years old today". daniel.haxx.se. Diakses tanggal 20 Maret 2015. 
  3. ^ "Releases curl/curl" – via GitHub. 
  4. ^ "curl - Frequently Asked Questions". curl.haxx.se. 
  5. ^ Stenberg, Daniel. "Origin of the name". curl.haxx.se/ (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2018-06-27. Diakses tanggal 25 April 2018. 
  6. ^ a b "cURL: docs/HISTORY.md | Fossies". fossies.org. Diakses tanggal 29 September 2019. 
  7. ^ "Changelog" (dalam bahasa Inggris). 4 Januari 2020. Diakses tanggal 4 Januari 2020. The first curl release. The tool was named urlget before this. And httpget before that. 
  8. ^ Stenberg, Daniel (4 Januari 2020). "Restored complete curl changelog" (html). Haxx Se. Diakses tanggal 2 Januari 2020. 
  9. ^ Jones, M. Tim (8 September 2009). "Conversing through the Internet with cURL and libcurl - Using libcurl with C and Python". IBM Developerworks. Diarsipkan dari versi asli tanggal 14 April 2015. Diakses tanggal 12 September 2018. 
  10. ^ Stenberg, Daniel (5 Agustus 2019). "http09: disable HTTP/0.9 by default in both tool and library". GitHub. Diarsipkan dari versi asli (html) tanggal 5 Agustus 2019. Diakses tanggal 5 Agustus 2019. As the plan has been laid out in DEPRECATED. Update docs accordingly and verify in test 1174. 
  11. ^ a b "curl - How To Use". curl.haxx.se. 
  12. ^ "Open Source Components for the Native SDK for BlackBerry Tablet OS". Diarsipkan dari versi asli tanggal 27 Januari 2013. Diakses tanggal 19 September 2017. 
  13. ^ "Tar and Curl Come to Windows!". TECHCOMMUNITY.MICROSOFT.COM. 22 Maret 2019. 
  14. ^ "axTLS Embedded SSL". axtls.sourceforge.net. 
  15. ^ "curl - SSL CA Certificates". curl.haxx.se. 
  16. ^ Del, Ryan (2 Maret 2018). "Comandi equivalenti a cURL e Wget per Windows command-line con Powershell" [cURL and Wget equivalent commands for Windows command-line with Powershell] (html). Ryadel (dalam bahasa Italia). Diakses tanggal 4 Januari 2020. Per emulare il comportamento del comando Linux cURL, è sufficiente creare un file cURL.ps1 contenente la seguente riga di codice 

Pranala luar sunting