cURL adalah projek perisian yang terdiri daripada perpustakaan (libcurl) dan tempurung (curl) berorientasikan pemindahan fail. Ia menyokong protokol FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE dan LDAP, antara lain.
cURL menyokong sijil HTTPS, HTTP POST, HTTP PUT, Muat naik borang FTP, Kerberos, HTTP, proksi, kuki, nama pengguna dan pengesahan kata laluan (Asas, DIgest, NTLM dan Runding untuk HTTP dan kerberos 4 untuk FTP), penerusan pemindahan fail, terowong proksi HTTP, IMAP, POP3, LDAP, RTSP, RTMP dan faedah lain.
Tujuan dan penggunaan utama untuk cURL adalah untuk mengautomasikan pemindahan fail atau urutan operasi yang tidak diawasi. Contohnya, ini adalah alat yang sah untuk mensimulasikan tindakan pengguna dalam penyemak imbas web.
Pada asasnya ini adalah utiliti untuk menerima dan mengirim data melalui rangkaian, yang memberikan kemampuan untuk membentuk permintaan dengan fleksibel dengan menetapkan parameter seperti cookie, user_agent, referer, dan header lain.
Selain itu perpustakaan libcurl menyediakan API untuk menggunakan semua fungsi curl dalam program dalam bahasa seperti C, Perl, PHP, Python.
cURL adalah sumber terbuka, perisian percuma yang diedarkan di bawah Lesen MIT.
Mengenai versi baru cURL 7.66.0
Baru-baru ini versi baru cURL dikeluarkan lyang dicapai dengan pembetulan 77 kesalahan dan melaksanakan beberapa inovasi antaranya menyoroti penambahan sokongan awal untuk protokol HTTP / 3, yang belum dibawa ke bentuk yang berfungsi sepenuhnya dan dilumpuhkan secara lalai (sebagai contoh, sehingga pengendali penamatan sambungan siap, pemaralalan dan pemprosesan permintaan besar tidak berfungsi).
Untuk mengaktifkan HTTP 3, perlu dibuat semula dengan quiche atau ngtcp2 backend + nghttp3. Penggunaan parameter «–http3» dan pilihan libcurl «CURLOPT_HTTP_VERSION» dicadangkan;
Perubahan penting lain untuk versi baru cURL ini ialah menambahkan parameter "-Z" ("–parallel") dan "–parallel-max", yang membolehkan anda mengatur pemuatan senarai URL secara serentak ke dalam beberapa urutan.
Menambah keupayaan untuk menetapkan pengecam yang berbeza untuk kebenaran dalam SASL, yang ditentukan oleh parameter "–sasl-authzid" atau pilihan CURLOPT_SASL_AUTHZID (pengecam pengesahan diteruskan melalui CURLOPT_USERPWD).
Pemprosesan HTTP Retry-After header dan kod pengembalian 429 telah dilaksanakan menggunakan parameter "–retry" atau pilihan CURLINFO_RETRY_AFTER.
Header Retry-After menentukan kelewatan sebelum menghantar permintaan berikutnya sekiranya menerima kod respons 429 (Terlalu banyak permintaan), 503 (Perkhidmatan tidak tersedia), atau 301 (Dipindahkan secara kekal).
Perubahan lain yang menonjol dalam versi baru ini:
- Fungsi curl_multi_poll () telah ditambahkan, identik dengan curl_multi_wait (), kecuali apabila tidak ada deskriptor fail yang akan ditunggu (curl_multi_wait segera dihentikan, dan curl_multi_poll memperkenalkan kelewatan yang singkat sebelum keluar untuk mengelakkan situasi pemuatan yang tidak betul kerana panggilan siklik)
- Bermula dengan keluaran ini, curl akan menganggap respons HTTP tersebut tidak sah secara lalai
- Kerentanan diperbaiki: CVE-2019-5481: kunci memori bebas berganda di FTP-KRB (kerberos melalui FTP); CVE-2019-5482: buffer overflow pada pemacu TFTP.
- Memperbaiki regresi yang menyebabkan keriting tidak menggunakan kelayakan URL dengan betul semasa melakukan pengesahan berbilang peringkat (seperti HTTP Digest) dengan proksi.
Bagaimana cara memasang cURL di Linux?
Bagi mereka yang berminat untuk memasang versi baru cURL ini Mereka boleh melakukannya dengan memuat turun kod sumber dan menyusunnya.
Untuk ini, perkara pertama yang akan kita lakukan ialah memuat turun pakej cURL terakhir dengan bantuan terminal, di dalamnya mari taip:
wget https://curl.haxx.se/download/curl-7.66.0.tar.xz
Kemudian, kami akan membuka zip pakej yang dimuat turun dengan:
tar -xzvf curl-7.66.0.tar.xz
Kami memasukkan folder yang baru dibuat dengan:
cd curl-7.66.0
Kami memasukkan sebagai root dengan:
sudo su
Dan kami taipkan perkara berikut:
./configure --prefix=/usr \ --disable-static \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs &&
make make install && rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.66.0 && cp -v -R docs/* /usr/share/doc/curl-7.66.0
Akhirnya kita dapat memeriksa versi dengan:
curl --version