Panduan ekstensif yang menjelaskan penggunaan perintah curl untuk mengambil halaman web dan mengunduh file langsung dari terminal Anda
Itu keriting
command adalah satu lagi utilitas baris perintah yang menarik yang ditawarkan Linux kepada Anda. keriting
perintah memungkinkan pengguna untuk mengambil file dari server.
keriting
adalah pilihan populer dari pengembang aplikasi dan pengguna Linux yang sering karena dukungannya untuk sejumlah protokol seperti RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, HTTP, HTTPS, FTP, FTPS, IMAP, IMAPS, DICT, FILE, GOPHER, LDAP, LDAPS, POP3, POP3S, dll.
keriting
perintah melakukan lebih dari sekadar mengambil halaman web untuk Anda. Mengetahui opsi yang tersedia dengan perintah ini membuatnya lebih fleksibel untuk Anda gunakan. Mari kita selami tutorial untuk mendapatkan pemahaman yang baik tentang penggunaan keriting
perintah menggunakan beberapa contoh singkat.
Instalasi
Sebelum menggunakan keriting
perintah, periksa apakah sudah diinstal di sistem Anda. Gunakan perintah ikal --versi
untuk memeriksa apakah keriting
dipasang.
Jika keriting
tidak diinstal, gunakan langkah-langkah berikut.
Pada sistem berbasis Ubuntu dan Debian, menggunakan:
sudo apt-get update
sudo apt-get install curl
Pada distro RHEL, CentOs dan Fedora, menggunakan:
sudo yum install curl
Sekarang gunakan ikal --versi
perintah untuk memastikan bahwa itu diinstal dengan benar.
ikal --versi
Keluaran:
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30. 0 librtmp/2.3 Tanggal Rilis: 24-01-2018 Protokol: file dict ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Fitur: AsynchDNS IDN IPv6 Berkas besar SSL GSS-API libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL gaurav@ubuntu:~$
Sekarang kita siap untuk menggunakan keriting
memerintah.
Opsi tersedia dengan perintah CURL
Mari kita lihat sekilas beberapa opsi menonjol yang tersedia dengan keriting
memerintah.
Pilihan | Keterangan |
-u | untuk mengunduh file dari server FTP |
-C | untuk melanjutkan unduhan yang terputus |
-Hai | untuk menyimpan hasil keriting perintah dengan nama file yang telah ditentukan |
-SAYA | untuk mendapatkan tajuk HTTP dari URL yang ditentukan |
-HAI | untuk menyimpan hasil keriting perintah dengan nama file asli |
--libcurl | untuk menampilkan kode sumber C yang menggunakan libcurl untuk opsi yang ditentukan |
-x | untuk menggunakan proxy untuk mengakses URL |
-# | untuk menampilkan bilah kemajuan untuk menunjukkan status unduhan |
Mengambil halaman web menggunakan CURL
Itu keriting
perintah, ketika digunakan tanpa opsi apa pun, mengambil konten URL yang ditentukan dalam perintah.
Sintaksis:
ikal [URL]
Contoh:
curl //semuanya.bagaimana
Keluaran:
gaurav@ubuntu:~$ curl //allthings.how html{overflow-x:hidden!important}html.i-amphtml-fie{height:100%!important;width:100%!important}html:not([amp4ads ]),html:not([amp4ads]) body{height:auto!important}html:not([amp4ads]) body{margin:0!important}body{-webkit-text-size-adjust:100%;- moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html.i-amphtml-singledoc.i-amphtml-embedded{-ms-touch -action:pan-y;touch-action:pan-y}html.i-amphtml-fie>body,html.i-amphtml-singledoc>body{overflow:visible!important}html.i-amphtml-fie:not (.i-amphtml-inabox)>body,html.i-amphtml-singledoc:not(.i-amphtml-inabox)>body{position:relative!important}html.i-amphtml-webview>body{overflow-x :hidden!important;overflow-y:visible!important;min-height:100vh!important}html.i-amphtml-ios-embed-legacy>body{overflow-x:hidden!important;overflow-y:auto!penting ;position:absolute!important}html.i-amphtml-ios-embed{overflow-y:auto!important;position:static}#i-amphtml-wrapper{overflow-x:hidden!important;over flow-y:auto!penting;posisi:absolut!penting;atas:0!penting;kiri:0!penting;kanan:0!penting;bawah:0!penting;margin:0!penting;tampilan:blok!penting} html.i-amphtml-ios-embed.i-amphtml-ios-overscroll,html.i-amphtml-ios-embed.i-amphtml-ios-overscroll>#i-amphtml-wrapper{-webkit-overflow-scrolling: touch!important}#i-amphtml-wrapper>body{position:relative!important;border-top:1px solid transparent!important}#i-amphtml-wrapper+body{visibility:visible}#i-amphtml-wrapper+body .i-amphtml-lightbox-element,#i-amphtml-wrapper+body[i-amphtml-lightbox]{visibility:hidden}#i-amphtml-wrapper+body[i-amphtml-lightbox] .i-amphtml-lightbox -elemen{visibility:visible}#i-amphtml-wrapper.i-amphtml-scroll-disabled,.i-amphtml-scroll-disabled{overflow-x:hidden!important;overflow-y:hidden!important}amp-instagram {padding:54px 0px 0px!important;background-color:#fff}amp-iframe iframe{box-sizing:border-box!important}[amp-access][amp-access-hide]{display:none}[subscriptions -dialog],body:not(.i-amphtml-s ubs-ready) [subscriptions-action],body:not(.i-amphtml-subs-ready) [subscriptions-section]{display:none!important}amp-experiment,amp-live-list>[update]{display :none}.i-amphtml-jank-meter{position:fixed;background-color:rgba(232,72,95,0.5);bottom:0;right:0;color:#fff;font-size:16px; z-index:1000;padding:5px}amp-list[resizable-children]>.i-amphtml-loading-container.amp-hidden{display:none!important}amp-list [fetch-error],amp-list [load-more] [load-more-button],amp-list[load-more] [load-more-end],amp-list[load-more] [load-more-failed],amp-list[load -more] [load-more-loading]{display:none}amp-list[diffable] div[role=list]{display:block}amp-story-page,amp-story[standalone]{min-height:1px !penting;display:block!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;width:100%!important}amp-story[standalone]{background- color:#202125!important;position:relative!important}amp-story-page{background-color:#757575}amp-story .amp-active>div,amp-story .i-amphtm l-loader-background{display:none!important}amp-story-page:not(:first-of-type):not([distance]):not([active]){transform:translateY(1000vh)!important }amp-autocomplete{position:relative!important;display:inline-block!important}amp-autocomplete>input,amp-autocomplete>textarea{padding:0.5rem;border:1px solid rgba(0,0,0,0.33) }.i-amphtml-autocomplete-results,amp-autocomplete>input,amp-autocomplete>textarea{font-size:1rem;line-height:1.5rem}[amp-fx^=fly-in]{visibility:hidden} amp-script[nodom]{position:fixed!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;visibility:hidden}
Di sini, konten halaman web diambil langsung ke terminal Anda sebagai kode sumber.
Anda dapat menggunakan opsi -Hai
dan -HAI
dengan keriting
perintah untuk menyimpan konten ini ke dalam file.
Kapan -Hai
Jika opsi digunakan, konten URL disimpan ke direktori Anda saat ini dengan nama file yang ditentukan pengguna.
Sintaksis:
curl -o [nama file_pengguna] [URL]
Contoh:
gaurav@ubuntu:~/workspace$ curl -o ath.html //allthings.how % Total % Diterima % Xferd Kecepatan Rata-rata Waktu Waktu Waktu Dload Saat Ini Unggah Total Kecepatan Kiri 100 199k 100 199k 0 0 58743 0 0:00:03 0:00:03 --:--:-- 58743 gaurav@ubuntu:~/workspace$ ls ath.html gaurav@ubuntu:~/workspace$
Dalam contoh ini, konten dari URL 'allthings.how' disimpan sebagai file HTML bernama ath.html di direktori kerja saya saat ini. Saat membuka file HTML ini, saya akan diarahkan ke halaman web yang disimpan.
Mengunduh file menggunakan perintah CURL
Menggunakan -HAI
opsi dengan perintah curl juga menyimpan konten atau halaman web atau paket yang dapat diunduh sebagai file tetapi menyimpan file ini dengan nama aslinya.
Mari kita lihat ini melalui sebuah contoh:
Contoh:
Di sini saya telah menggunakan keriting
perintah dengan -HAI
opsi untuk mengunduh paket Ubuntu bernama 'cherrytree_0.37.6-1.1_all.deb' dari repositori paket Ubuntu.
gaurav@ubuntu:~/workspace$ curl -O //kr.archive.ubuntu.com/ubuntu/pool/universe/c/cherrytree/cherrytree_0.37.6-1.1_all.deb % Total % Diterima % Xferd Rata-rata Kecepatan Waktu Waktu Waktu Dload Saat Ini Unggah Total Menghabiskan Kecepatan Kiri 100 613k 100 613k 0 0 220k 0 0:00:02 0:00:02 --:--:-- 220k gaurav@ubuntu:~/workspace$
Keluaran:
trinity@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb trinity@ubuntu:~/workspace$
Jadi, paket tersebut sekarang diunduh dan disimpan di direktori kerja saat ini (CWD) dengan nama aslinya.
Menampilkan Bilah Kemajuan saat mengunduh file
Ada satu lagi modifikasi estetika yang tersedia saat menggunakan keriting
perintah untuk mendownload file. Anda dapat melihat kemajuan unduhan file Anda dalam bentuk Bilah Kemajuan ke terminal Anda. Anda hanya perlu menambahkan -#
opsi dengan perintah Anda untuk mengunduh file.
Mari kita lihat contoh tweak ini.
Sintaksis:
ikal -# -O [URL]
Contoh:
gaurav@ubuntu:~/workspace$ curl -# -O //archive.ubuntu.com/ubuntu/pool/main/e/emacs-defaults/emacs-defaults_47.0.tar.xz ######## ############################################################# ############################################################# ########################################################### 100.0% gaurav@ubuntu:~/ruang kerja$
Keluaran:
gaurav@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb emacs-defaults_47.0.tar.xz gaurav@ubuntu:~/workspace$
Dalam output ini, Anda dapat mengamati bahwa saya telah mengunduh paket bernama 'emacs-defaults_47.0.tar.xz' di CWD saya dan bilah kemajuan ditampilkan ke terminal saat pengunduhan sedang berlangsung.
Melanjutkan unduhan yang terputus di CURL
Sering kali, mungkin terjadi situasi di mana Anda harus mengunduh file dengan ukuran lebih besar. Terkadang karena beberapa alasan seperti kegagalan daya atau kegagalan jaringan, unduhan dapat dibatalkan di tengah proses tanpa mengunduh file lengkap. Bahkan jika Anda menekan Ctrl+C
di terminal, proses dibatalkan.
Itu keriting
perintah ketika digunakan dengan -C
opsi melanjutkan unduhan yang terputus.
Sintaksis:
ikal -C - -O [URL]
Contoh:
Dalam ilustrasi ini, saya telah mencoba mengunduh image ISO Ubuntu 20.04 dari situs web Ubuntu.
gaurav@ubuntu:~/workspace$ curl -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.1600250922-1570904140.1591164974 % Total % Diterima % Kecepatan Rata-rata Xferd Waktu Waktu Waktu Dload Saat Ini Unggah Total Menghabiskan Kecepatan Kiri 0 2656M 0 1744k 0 0 87038 0 8:53:17 0:00:20 8:52:57 77726^C
Di sini, saya sengaja membatalkan proses pengunduhan dengan Ctrl+C
.
Sekarang saya akan menggunakan -C
pilihan dengan keriting
perintah untuk melanjutkan unduhan yang terputus dari situs web sumber yang sama.
Keluaran:
gaurav@ubuntu:~/workspace$ curl -C - -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.1600250922-1570904140.1591164974 ** Melanjutkan transfer dari posisi byte 1851392 % Total % Diterima % Xferd Kecepatan Rata-rata Waktu Waktu Waktu Dload Saat Ini Upload Total Menghabiskan Kecepatan Kiri 0 2654M 0 20.2M 0 0 57940 0 13:20:35 0:06:06 13:14:29 98278
Unduhan telah diambil dari tempat ia dibatalkan.
Mengunduh file dari server FTP menggunakan CURL
Caranya cukup mudah dengan keriting
perintah untuk mengunduh file dari server FTP menggunakan -u
pilihan. Anda harus memasukkan nama pengguna dan kata sandi ke dalam perintah sebelum memasukkan URL.
Sintaksis:
curl -u [nama pengguna]:[kata sandi] [URL]
Sebagai ilustrasi, saya akan menggunakan FTP publik online.
Contoh:
gaurav@ubuntu:~/workspace$ curl -O -u [email protected]:eUj8GeW55SvYaswqUyDSm5v6N ftp://ftp.dlptest.com/16-Sep-20-16-0-0.csv % Total % Diterima % Rata-rata Xferd Kecepatan Waktu Waktu Waktu Saat Ini Dload Upload Total Menghabiskan Kecepatan Kiri 100 390 100 390 0 0 93 0 0:00:04 0:00:04 --:--:-- 93 gaurav@ubuntu:~/workspace$
Di sini, saya telah mengunduh file bernama '16-Sep-20-16-0-0.csv’ dari server ftp ini dan menyimpannya dengan nama aslinya di CWD saya. Saya akan memeriksa file yang diunduh menggunakan ls
memerintah.
gaurav@ubuntu:~/workspace$ ls -al total 1092 drwxrwxr-x 3 gaurav gaurav 4096 16 Sep 16:15 . drwxr-xr-x 87 gaurav gaurav 266240 16 Sep 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 16 Sep 16:15 16-Sep-20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 204429 16 Sep 11:45 ath.html gaurav@ubuntu:~/workspace$
Mengunduh banyak file bersama-sama menggunakan CURL
Mengunduh banyak file sekaligus menggunakan keriting
perintah adalah tugas yang sangat sederhana. Anda hanya menggunakan -HAI
pilihan dengan keriting
perintah serupa dengan cara yang telah kami lakukan di blok di atas.
Sintaksis:
curl -O [URL-1] -O [URL-2] -O[URL-n]
Contoh:
gaurav@ubuntu:~/workspace$ curl -O //archive.ubuntu.com/ubuntu/pool/universe/a/aegean/aegean_0.15.2+dfsg-1.debian.tar.xz -O //archive.ubuntu. com/ubuntu/pool/main/a/apache2/apache2_2.4.29.orig.tar.gz % Total % Diterima % Xferd Kecepatan Rata-rata Waktu Waktu Waktu Dload Saat Ini Unggah Total Menghabiskan Kecepatan Kiri 100 63500 100 63500 0 0 55458 0 0:00 :01 0:00:01 --:--:-- 55458 100 8436k 100 8436k 0 0 123k 0 0:01:08 0:01:08 --:--:-- 127k gaurav@ubuntu:~/workspace $
Dalam contoh ini, saya telah mengunduh dua paket berbeda dari repositori Ubuntu.
Keluaran:
gaurav@ubuntu:~/workspace$ ls -al total 9596 drwxrwxr-x 3 gaurav gaurav 4096 16 Sep 16:28 . drwxr-xr-x 87 gaurav gaurav 266240 16 Sep 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 16 Sep 16:15 16-Sep-20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 63500 16 Sep 16:28 aegean_0.15.2+dfsg-1.debian.tar.xz -rw-r--r-- 1 gaurav gaurav 8638793 16 Sep 16:29 apache2_2.4.29. orig.tar.gz -rw-r--r-- 1 gaurav gaurav 204429 16 Sep 11:45 ath.html gaurav@ubuntu:~/workspace$
Kedua paket diunduh secara bersamaan menggunakan perintah curl.
Mengambil header HTTP dari URL dengan CURL
Bidang HTTP Header dari URL apa pun berisi informasi yang berguna seperti agen pengguna, tipe konten, penyandian, dll. File header ini juga memberikan informasi tentang objek yang dikirim di badan pesan. Detail tentang permintaan dan respons juga diperoleh dari header HTTP ini.
Kamu dapat memakai keriting
perintah dengan -SAYA
opsi untuk mendapatkan header HTTP ini dari URL.
Sintaksis:
ikal -I [URL]
Contoh:
gaurav@ubuntu:~/workspace$ curl -Saya www.firefox.com HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 P3P: CP="Ini bukan kebijakan P3P! Lihat g.co/p3phelp untuk info selengkapnya." Tanggal: Rab, 16 Sep 2020 11:17:00 GMT Server: gws X-XSS-Protection: 0 X-Frame-Options: SAMAORIGIN Transfer-Encoding: chunked Kedaluwarsa: Rab, 16 Sep 2020 11:17:00 GMT Cache- Kontrol: Set-Cookie pribadi: 1P_JAR=2020-09-16-11; kadaluarsa=Jum, 16-Okt-2020 11:17:00 GMT; jalur=/; domain=.google.com; Set-Cookie Aman: NID=204=SpeHTVXkKYwe6uaKYLsPWmCA0A-sGb94c9jpbw067e7uhyeJnkap6TFEIESztwLOEst7KcDSBLgGrokh1EM2IZi2VPVzllH0tsvCu-QbS6GzCu-QbKiunPoPJ6d kadaluarsa=Kamis, 18-Mar-2021 11:17:00 GMT; jalur=/; domain=.google.com; HttpOnly gaurav@ubuntu:~/ruang kerja$
Dalam contoh ini saya telah mengambil header HTTP dari 'www.firefox.com‘.
Mengambil Kode Sumber-C menggunakan CURL
Menggunakan keriting
perintah dengan --libcurl
opsi dapat mengambil kode sumber C. Ini tidak memiliki kegunaan yang signifikan bagi pengguna awam tetapi terbukti sangat membantu bagi Pemrogram Sistem, Analis Keamanan, dan Pengembang Aplikasi.
Sintaksis:
curl [URL] > nama file --libcurl [code_filename]
Contoh:
Dalam contoh ini, saya telah mengambil konten URL semuanya.bagaimana dan menyimpannya dalam file bernama gy_ath.html. Kode sumber C disimpan secara terpisah di sumber.c mengajukan.
curl //www.allthings.how > gy_ath.html --libcurl source.c
Keluaran:
gaurav@ubuntu:~/workspace$ curl //www.allthings.how > gy_ath.html --libcurl source.c % Total % Diterima % Xferd Rata-rata Kecepatan Waktu Waktu Waktu Saat Ini Dload Upload Total Habiskan Kecepatan Kiri 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 gaurav@ubuntu:~/workspace$
Sekarang mari kita periksa file yang diunduh.
gaurav@ubuntu:~/workspace$ ls -al total 404 drwxrwxr-x 3 gaurav gaurav 4096 16 Sep 17:08 . drwxr-xr-x 87 gaurav gaurav 266240 16 Sep 10:22 .. -rw-r--r-- 1 gaurav gaurav 0 Sep 16 17:13 gy_ath.html -rw-r--r-- 1 gaurav gaurav 1535 16 Sep 17:13 source.c gaurav@ubuntu:~/workspace$
Itu sumber.c file berisi kode sumber. Ini dapat ditampilkan di terminal menggunakan kucing
memerintah. Saya telah meletakkan beberapa baris dari output di blok yang diberikan di bawah ini.
C sourcegaurav@ubuntu:~/workspace$ cat source.c /********* Contoh kode yang dihasilkan oleh alat baris perintah curl ********** * Semua opsi curl_easy_setopt() didokumentasikan di: * //curl.haxx.se/libcurl/c/curl_easy_setopt.html ******************************** ****************************************/ #termasuk int main(int argc, char *argv[]) { CURLcode ret; ikal *hnd; hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L); curl_easy_setopt(hnd, CURLOPT_URL, "//www.allthings.how"); curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.58.0"); curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
Menggunakan proxy di CURL untuk mengakses URL
Seperti yang dibahas dalam pendahuluan, keriting
perintah mendukung berbagai protokol seperti FTP, SMTP, HTTPS, SOCKS dll Kadang-kadang menggunakan server proxy untuk mentransfer file menjadi penting ketika Anda ingin meningkatkan kecepatan transfer Anda dan juga melindungi identitas Anda. keriting
perintah dapat dengan mudah digunakan untuk mentransfer file melalui server proxy dengan menambahkan -x
pilihan untuk itu.
Contoh:
curl -x [proxy_address]:[port] [URL]
Dalam contoh di atas, saya berasumsi bahwa proxy Anda tidak memerlukan otentikasi. Jika proxy memerlukan otentikasi untuk memulai transfer, Anda dapat menggunakan perintah berikut.
curl -u [nama pengguna]:[kata sandi] -x [proxy_address]:[port] [URL]
Dengan menggunakan metode sederhana ini, kita dapat mentransfer file melalui server proxy dengan opsi -x
digunakan dengan keriting
memerintah.
Kesimpulan
Dalam tutorial singkat ini, kita belajar bagaimana keriting
perintah terbukti membantu dalam mengunduh konten langsung dari terminal Anda. Kami juga belajar tentang berbagai opsi yang tersedia dengan perintah ini untuk digunakan untuk berbagai tugas.