Dapatkan cURLy: 10 Hal Berguna yang Dapat Anda Lakukan Dengan cURL

Dapatkan cURLy: 10 Hal Berguna yang Dapat Anda Lakukan Dengan cURL

Ketika kita mulai belajar tentang alat baris perintah, kita cenderung melihatnya sebagai satu tujuan. Kamu diajari itu





cat

mencetak isi file,





ls

daftar semua item dalam direktori, dan





du

menunjukkan penggunaan ruang disk. Namun, banyak alat baris perintah memiliki lusinan opsi, semuanya dijelaskan dengan rapi di . mereka

man

file. Beberapa dari mereka dapat melakukan keajaiban bila dikombinasikan dengan perintah lain.



Tentu saja, tidak masuk akal untuk mengharapkan bahwa setiap orang harus mengingat setiap pilihan. Dengan mengingat hal itu, ada baiknya sesekali menyegarkan pengetahuan tentang perintah Linux , karena Anda mungkin menemukan kegunaan baru untuk mereka.

Kali ini, kami fokus pada keriting , alat untuk mentransfer data melalui sejumlah protokol Internet seperti HTTP(S), FTP, Telnet, LDAP, IMAP, POP3, SMTP, dan banyak lagi.





Dalam istilah yang disederhanakan, cURL melakukan berbagai permintaan dari klien ke server, membuat koneksi di antara mereka melalui protokol tertentu dan metode yang terkait. Misalnya, sebagai klien HTTP, cURL dapat mengirim permintaan untuk melihat atau mengunduh konten (metode permintaan GET), atau untuk memposting konten melalui formulir di situs web (metode permintaan POST). Banyak aplikasi dan layanan web memungkinkan cURL untuk berinteraksi dengan API (Application Programming Interface) mereka.

Karena fungsinya tumpang tindih sampai batas tertentu, cURL dan wget sering dibandingkan satu sama lain. Kedua alat dapat mengunduh konten dari Internet, tetapi wget mendukung unduhan rekursif, pengikisan web, dan umumnya terasa lebih mudah digunakan. Jika Anda hanya ingin mengunduh file dari terminal , wget mungkin merupakan pilihan yang lebih baik.





Di sisi lain, jika Anda memerlukan metode otentikasi HTTP tingkat lanjut, dan ingin mengunggah file serta mengunduhnya, ada baiknya mempelajari cara cURL. Selain itu, wget hanya mendukung HTTP(S) dan FTP, sedangkan cURL mencakup berbagai protokol. Ini berarti cURL dapat melakukan lebih banyak hal keren—dan berikut adalah sepuluh contoh untuk membuktikannya.

1. Dapatkan Laporan Cuaca

Jika seseorang menyuruh Anda untuk memeriksa cuaca dari terminal, Anda akan melihat beberapa angka yang membosankan. Tidak dengan perintah ini.

curl http://wttr.in/LOCATION

Informasi tersebut disediakan oleh aplikasi CLI yang disebut kita pergi , tetapi jika Anda tidak ingin menginstalnya, cURL dapat mengambil perkiraan dari web frontend wttr.in. Yang dibutuhkan hanyalah lokasi yang Anda inginkan ramalannya. Cukup ketik nama kota, kode bandara, atau alamat IP Anda saat ini. Fitur baru menampilkan informasi tentang fase bulan jika Anda mengetik:

curl wttr.in/Moon

2. Unduh File dan Lanjutkan Unduhan

Mengunduh file adalah sesuatu yang biasa kita lakukan di browser. Terkadang Anda ingin menggunakan pengelola unduhan ; misalnya, saat mengunduh beberapa file sekaligus, atau saat Anda ingin menjeda unduhan. Meskipun cURL bukan pilihan populer untuk unduhan simultan (disarankan wget), Anda masih dapat menggunakannya untuk tujuan itu dengan menggabungkan opsi (sakelar) yang kuat. Pertama, Anda memerlukan tautan langsung ke file. Dalam contoh ini, kami akan menggunakan PDF majalah Suara Linux.

curl -O -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Sakelar O huruf besar (-O) membuat cURL menyimpan file dengan nama file default (biasanya yang berasal dari tautan itu sendiri). Jika Anda ingin menyimpannya dengan nama lain, gunakan huruf kecil o diikuti dengan nama baru:

curl -o magazine.pdf -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Secara default, file disimpan di direktori saat ini (periksa dengan

pwd

memerintah). Untuk menyimpannya di tempat lain, berikan jalur setelah sakelar -o. Tombol -C - memungkinkan cURL untuk melanjutkan unduhan. Anda akan menjedanya dengan menekan Ctrl+C di terminal, dan melanjutkan dengan menjalankan perintah unduhan yang sama lagi:

cURL menampilkan kemajuan pengunduhan dalam format seperti tabel, dengan kolom yang berisi informasi tentang kecepatan pengunduhan, ukuran file total, waktu yang telah berlalu, dan banyak lagi. Jika Anda tidak menyukai ini, Anda dapat memilih bilah kemajuan yang lebih sederhana dengan menambahkan -# atau --progress-bar ke perintah cURL Anda.

Untuk mengunduh banyak file sekaligus, cukup daftarkan tautan satu demi satu:

curl -O file1.txt -O file2.pdf -O file3.zip

Dengan bantuan alat baris perintah lainnya, kita dapat mengunduh batch semua gambar PNG dan JPG dari blog Tumblr:

curl http://concept-art.tumblr.com/ | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2 | while read l; do curl '$l' -o '${l##*/}'; done

Pada kasus ini,

cut

dan

grep

mengumpulkan informasi tentang nama file dan memformatnya sehingga hanya file dengan ekstensi tertentu yang ditampilkan. Jika Anda menjalankan perintah tanpa pipa terakhir:

curl http://concept-art.tumblr.com/ | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2

Anda hanya akan mendapatkan daftar file yang memenuhi kriteria kami, tetapi sebenarnya tidak akan diunduh. cURL bisa mendapatkan daftar gambar dari berbagai halaman, asalkan blog menggunakan pagination standar:

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2

Anda dapat mengubah rentang dengan mengubah angka dalam tanda kurung siku. Sekali lagi, perintah ini hanya akan mencantumkan gambar; untuk mengunduhnya, jalankan perintah lengkap di direktori tempat Anda ingin menyimpan gambar:

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2 | while read l; do curl '$l' -o '${l##*/}'; done

Jika Anda berpengalaman dalam ekspresi reguler , Anda dapat meningkatkan tampilan dan efisiensi perintah ini, dan membagikan hasilnya di komentar.

3. Kelola File di Server FTP

Kami tidak mendengar banyak tentang FTP akhir-akhir ini, tetapi itu tidak berarti itu usang. Faktanya, banyak proyek open source dan distribusi Linux berbagi perangkat lunak mereka di server FTP. Karena FTP didukung oleh cURL, Anda dapat menggunakannya sebagai klien FTP sederhana untuk mengunggah dan mengunduh file. Anda dapat menelusuri file di server FTP dengan mengakses direktori:

curl ftp://ftp.debian.org/debian/

Untuk memasukkan subdirektori, ketikkan namanya diikuti dengan garis miring (/).

Mengunduh file mirip dengan unduhan HTTP yang dijelaskan di bagian sebelumnya. Anda dapat menggunakan -o atau -O, dan menambahkan -C - jika Anda ingin menjeda unduhan.

curl -O ftp://ftp.heanet.ie/mirrors/linuxmint.com/stable/17.3/linuxmint-17.3-kde-64bit.iso

Meskipun cURL tidak mendukung unduhan rekursif (ingat, wget mendukung!), ia masih dapat mengunduh berbagai file sekaligus. Satu-satunya syarat adalah nama file mengikuti pola. Misalnya, kita dapat mengunduh dari server hosting wallpaper di mana semua wallpaper diberi nama 'wallpaperNUMBER':

curl -O ftp://ftp.myserver.com/files/wallpaper[0-120].jpg

Beberapa server FTP memerlukan otentikasi sebelum Anda dapat mengunduh file. cURL memungkinkan Anda masuk dengan opsi -u (pengguna):

curl -u username:password -O ftp://ftp.protectedserver.com/files/example.txt

Anda juga dapat mengunggah file ke server FTP dengan opsi -T (transfer):

curl -u username:password -T /home/user/Documents/test.txt ftp://ftp.myserver.com

Di sini Anda juga dapat menentukan beberapa file sebagai rentang. Fitur ini terkadang disebut 'globbing'. Jika nama file tidak mengikuti pola, cukup cantumkan dalam tanda kurung kurawal (

-T '{file1.txt,image27.jpg}'

). Sebaliknya, jika mereka memiliki nama yang mirip, terapkan logika yang sama dari contoh unduhan Tumblr dan gunakan tanda kurung siku (

-T 'photo[1-50].jpg'

). Pastikan untuk memberikan path lengkap ke file jika tidak ada di direktori Anda saat ini.

4. Periksa Apakah Situs Web Sedang Down

Kita semua pernah ke sana. Situs web yang benar-benar Anda butuhkan tiba-tiba berhenti berfungsi. Maka Facebook tidak akan memuat. Menghadapi masalah dunia pertama yang sebenarnya, apa yang Anda lakukan?

Anda dapat mencarinya di Google, meminta seorang teman untuk mengujinya untuk Anda, atau menggunakan salah satu situs dengan layanan tunggal yang memberi tahu Anda jika sebuah situs web sedang down. Atau Anda bisa menjalankan terminal dan menjalankan cURL:

curl -Is https://www.twitter.com -L | grep HTTP/

Sakelar I huruf besar (-I) memeriksa header HTTP halaman web, dan opsi -L (lokasi) ditambahkan untuk membuat cURL mengikuti pengalihan. Ini berarti Anda tidak perlu mengetikkan URL Facebook lengkap; tulis saja facebook.com dan cURL akan mengurus sisanya berkat -L. Jika ada pengalihan, mereka akan ditampilkan dengan status HTTP mereka sendiri.

Pesan yang kami minati adalah '200 OK', yang berarti semuanya baik-baik saja dengan situs web. Jika memang down, Anda akan melihat sesuatu seperti ini:

Kode status HTTP hanya bersifat informasional sesuai pemahaman Anda tentang kode tersebut. Metode ini tidak sepenuhnya dapat diandalkan, karena situs web dapat mengembalikan kode status yang menunjukkan permintaan yang berhasil diproses, namun akan kosong saat Anda membukanya di browser. Namun, dalam banyak kasus itu harus sesuai dengan situasi nyata, dan memberi tahu Anda apa yang sedang naik -- atau turun.

5. Perluas URL Singkat

URL yang dipersingkat pada dasarnya tidak buruk. Tanpa mereka, akan sulit untuk membagikan tautan di Twitter dan jejaring sosial terbatas karakter lainnya. Beberapa layanan pemendekan URL juga menawarkan analitik yang berguna. Tetapi selalu ada risiko bahwa seseorang mencoba menyembunyikan konten berbahaya di balik URL yang dipersingkat, atau bahwa troll menutupi Rickroll (atau sesuatu yang jauh, jauh lebih buruk). Jika Anda merasa curiga terhadap URL yang dipersingkat karena alasan apa pun, cURL dapat membantu Anda mengembangkannya dan mencari tahu ke mana tepatnya URL itu mengarah:

curl -sIL http://buff.ly/1lTcZSM | grep ^Location;

atau

curl -sI http://buff.ly/1lTcZSM | sed -n 's/Location: *//p';

Anda dapat menggabungkan cURL dengan

grep

atau

sed

; perbedaan utama adalah dalam format. Sed adalah salah satu alat yang harus diketahui setiap pengguna Linux , dan ini melengkapi cURL dalam hal ini dan beberapa kasus penggunaan lainnya. Jangan lupa bahwa cURL dapat mengunduh file dari URL yang dipersingkat (asalkan URL tersebut benar-benar menunjuk ke file):

curl -L -o filename.txt http://short.url

Sintaksnya sama dengan unduhan cURL lainnya, dan opsi -L menangani pengalihan dari URL yang dipersingkat ke yang asli.

6. Tunjukkan Penghargaan Anda untuk Seni ASCII

Memang, ini tidak terlalu berguna, tetapi terlihat keren. Dengan bantuan dari

pv

, sebuah utilitas untuk memantau kemajuan data, cURL dapat menampilkan animasi ASCII di terminal.

curl -s http://artscene.textfiles.com/vt100/wineglas.vt | pv -L9600 -q

Opsi -s dan -q menyimpan kedua perintah dalam mode senyap (tenang). Opsi -L di sini mengacu pada perintah pv, dan memungkinkan Anda mengubah kecepatan transfer data dalam byte per detik. Dengan kata lain, jika animasi bergerak terlalu cepat atau terlalu lambat, cobalah bermain dengan angka tersebut. Selain animasi, cURL dapat menampilkan seni ASCII yang polos dan statis:

Web memiliki banyak situs web dengan semua jenis seni ASCII di luar sana: mulai dari detail yang luar biasa, karya berkualitas tinggi hingga materi aneh, konyol, dan bahkan NSFW. Teknik seni digital ini berasal dari tahun 1960-an, dan hari ini merupakan bagian dari budaya dan sejarah Internet , tetap hidup dalam berbagai koleksi dan alat yang memungkinkan Anda mengonversi teks dan gambar ke seni ASCII . Anda dapat menggunakannya untuk mendekorasi terminal Anda atau untuk mengerjai teman Anda -- apa pun yang mengapungkan perahu Anda.

7. Bereksperimenlah dengan Media Sosial

Menggunakan media sosial dari terminal bukanlah hal baru -- kami telah menunjukkan kepada Anda klien Twitter baris perintah untuk Linux . Meskipun Anda mungkin tidak akan beralih ke cURL sebagai alat sosialisasi online Anda, ada baiknya mengetahui bahwa Anda dapat memposting ke Facebook dengannya, seperti yang dijelaskan di sini . Anda akan melihat bahwa, secara teknis, cURL tidak melakukannya sendiri; kombinasi alat menyelesaikan pekerjaan.

Adapun Twitter, dulu dimungkinkan untuk mengelolanya langsung dari terminal dengan cURL. Kemudian Twitter mengubah API-nya, dan sekarang ada klien cURL khusus untuk Twitter yang disebut Twurl. Ini bukan hal termudah untuk digunakan, terutama untuk pemula, dan memerlukan otentikasi dengan Platform Iklan Twitter. Ini masuk akal jika Anda seorang pengembang atau pengguna tingkat lanjut, tetapi tidak terlalu jika Anda hanya ingin menge-tweet dari baris perintah. Namun, ada cara untuk bersenang-senang dengan Twitter. Anda dapat menggunakan cURL untuk memeriksa jumlah pengikut pengguna:

curl -s https://twitter.com/username | grep -o '[0-9,]* Followers';

8. Temukan Alamat IP Eksternal Anda

Menemukan alamat IP lokal Anda cukup mudah -- jalankan saja

iphone 12 pro atau pro max
ifconfig

atau konsultasikan dengan applet Manajemen Jaringan Anda. Untuk IP eksternal, kebanyakan orang menggunakan situs web khusus untuk mendapatkan informasi ini. Namun, beberapa hal lebih mudah dilakukan dari terminal , dan ini mungkin salah satunya. Anda juga dapat membuat alias untuk perintah cURL. Ada beberapa layanan online yang bekerja sama dengan cURL:

curl ipinfo.io
curl -s https://4.ifcfg.me
curl -s http://whatismyip.akamai.com
curl ifconfig.me
curl -s icanhazip.com

Beberapa dapat memberi tahu Anda lebih banyak tentang alamat IP eksternal apa pun:

curl ipinfo.io/207.46.13.41
curl ifconfig.me/207.46.13.41

Yang harus Anda lakukan adalah memilih layanan. Jika Anda ragu-ragu, cukup sertakan semuanya di alias Anda, sebagai solusi cadangan.

9. Tempel Teks dan Bagikan Gambar

Melanggar alur kerja Anda tidak pernah baik untuk produktivitas dan fokus. Jika Anda melakukan sebagian besar pekerjaan Anda di terminal, beralih ke browser hanya untuk berbagi beberapa file dapat menjadi tidak praktis, jika tidak mengganggu. Untungnya, beberapa layanan pastebin dan berbagi file lahir untuk bekerja dengan cURL, sehingga Anda dapat menggunakannya langsung dari terminal, tanpa akun pengguna.

klub dan Sprunge.us memiliki sintaks yang mirip. Dengan Clbin, Anda menyalurkan file lokal atau output dari sebuah perintah, dan itu mengembalikan tautan ke teks yang Anda unggah:

cat textfile.txt | curl -F 'clbin=<-' https://clbin.com

Ini juga mendukung unggahan gambar (PNG, JPG, dan GIF):

curl -F 'clbin=@image.png' https://clbin.com

Jika Anda ingin menggunakan Sprunge.us sebagai gantinya, ketik:

cat textfile.txt | curl -F 'sprunge=<-' http://sprunge.us

Sprunge.us tidak mendukung unggahan gambar untuk saat ini.

ix.io didasarkan pada prinsip yang sama seperti dua layanan sebelumnya, dengan beberapa fitur tambahan. Untuk mengunggah file, ketik:

cat file.txt | curl -F 'f:1=<-' ix.io

atau

curl -F 'f:1=@file.txt' ix.io

Saat Anda mendapatkan tautan ke teks yang diunggah, Anda dapat memodifikasi URL-nya untuk menampilkan penyorotan sintaks (dengan

ix.io/yourpaste+

,

ix.io/yourpaste/

, atau

ix.io/yourpaste/language

untuk skrip atau bahasa pemrograman tertentu). Anda juga dapat membatasi berapa kali tautan dapat dilihat dengan mengubah nomor setelah

'read:1'

nilai:

cat file.txt | curl -F 'f:1=<-' -F 'read:1=2' ix.io

Ix.io terutama ditujukan untuk file berbasis teks seperti kode sumber atau log sistem. Jika Anda ingin mengunggah berbagai format file, gunakan Transfer.sh . Ini mendukung gambar, enkripsi file, dan menyimpan file Anda secara online selama dua minggu. Anda dapat mengunggah hingga 5 GB data ke Transfer.sh. Berikut caranya:

curl --upload-file bunnies.jpg https://transfer.sh/bunnies.jpg

Anda bebas menentukan nama file yang diunggah. Untuk mengunggah banyak file, buat daftar satu demi satu dengan opsi -F:

curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/

10. Periksa Email yang Belum Dibaca di GMail

Ada potensi besar untuk dibuka di cURL jika Anda ingin mempelajari detail protokol terkait email (SMTP, POP, IMAP). Untuk pemeriksaan email cepat, perintah ini akan dilakukan. Ini mem-parsing umpan GMail Anda dan memformat output (subjek email dan pengirim) dengan

tr

,

awk

,

sed

dan/atau

grep

perintah. Perhatikan bahwa solusi ini sangat tidak aman karena memperlihatkan kredensial login Anda kepada siapa pun yang memiliki akses ke terminal Anda. Versi pertama menunjukkan nama pengirim, sedangkan versi kedua hanya mencetak subjek email yang belum dibaca:


curl -u username:password --silent 'https://mail.google.com/mail/feed/atom' | tr -d '
' | awk -F '' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n 's/

curl -u username:password --silent 'https://mail.google.com/mail/feed/atom' | grep -oPm1 '(?<=)[^<]+' | sed '1d'

Apa Lagi yang Dapat Curl Lakukan?

cURL jarang digunakan sebagai perintah mandiri. Kebanyakan orang menggunakannya sebagai bagian dari skrip atau aplikasi. Namun, dimungkinkan untuk membuat satu baris praktis dengan cURL, seperti yang telah kami tunjukkan di sini. Banyak dari contoh-contoh ini diadaptasi dari CommandLineFu , sumber fantastis peretasan baris perintah yang cerdas, dan Anda tidak boleh menganggapnya sebagai masalah.

Dengan pengetahuan dan pengalaman yang cukup, kita dapat memodifikasi setiap perintah, memformatnya secara berbeda, atau sepenuhnya menggantinya dengan solusi yang lebih baik. Bisakah Anda meningkatkan perintah cURL yang kami sarankan? Apakah Anda tahu kegunaan keren lainnya untuk cURL? Bagikan kiat Anda di komentar.

Kredit Gambar: Di dalam Pengantar Baris Perintah oleh Osama Khalid melalui Flickr.

Membagikan Membagikan Menciak Surel Hapus File dan Folder Windows Ini untuk Mengosongkan Ruang Disk

Perlu mengosongkan ruang disk di komputer Windows Anda? Berikut adalah file dan folder Windows yang dapat dihapus dengan aman untuk mengosongkan ruang disk.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Linux
  • FTP
  • Unduh Manajemen
  • Terminal
Tentang Penulis Ivana Isadora Devcic(24 Artikel Diterbitkan)

Ivana Isadora adalah seorang penulis lepas dan penerjemah, pecinta Linux dan fangirl KDE. Dia mendukung dan mempromosikan perangkat lunak sumber terbuka & gratis, dan dia selalu mencari aplikasi baru dan inovatif. Cari tahu cara menghubungi di sini .

More From Ivana Isadora Devcic

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan