Jika Anda mencari alat yang memungkinkan Anda menguji proxy dan mengikis situs secara bersamaan, Anda berada di tempat yang tepat. cURL adalah alat baris perintah yang memungkinkan Anda menguji proxy dan melakukan beberapa pengikisan web dasar. Intuitif dan mudah dipelajari, cURL juga dapat mengirim permintaan, menambahkan cookie, melakukan debugging, dan terhubung ke proxy, di antara berbagai hal lainnya.
Panduan langkah demi langkah ini akan menjelaskan apa itu cURL, cara menggunakan berbagai perintahnya, cara menggunakannya untuk pengikisan web ringan, dan cara menggunakan cURL dengan server proxy. Panduan ini mungkin sedikit rumit, jadi pastikan Anda memahami dasar-dasar proxy sebelum mulai membaca. Memahami beberapa dasar pengikisan web juga akan bermanfaat.
Daftar Isi
- Apa itu cURL?
- Cara Menginstal cURL
- Cara Menggunakan cURL
- Cara Menggunakan cURL dengan Server Proxy
- 7 Trik dan Tips Penting
- Curl vs Wget
- Kesimpulan
Apa itu cURL?
cURL, singkatan dari “client URL,” adalah alat baris perintah yang memfasilitasi transfer data melalui internet. Alat ini mencakup baris perintah curl.exe dan pustaka lintas platform bernama libcurl, yang memungkinkan pertukaran data antara server.
Kompatibel dengan berbagai sistem operasi modern yang menggunakan protokol internet, cURL beroperasi di perangkat mulai dari laptop hingga mobil. cURL mendukung banyak protokol internet, seperti:
- DICT
- FILE
- FTP
- FTPS
- GOPHER
- HTTP
- HTTPS
- IMAP
- IMAPS
- LDAP
- LDAPS
- MQTT
- POP3
- POP3S
- RTSP
- SCP
- SFTP
- SMB
- SMBS
- SMTP
- SMTPS
- TELNET
- TFTP
Komunitas yang cukup besar telah mengembangkan berbagai alat untuk cURL, termasuk curl-loader, alat pengujian kinerja perangkat lunak Linux sumber terbuka. Curl-loader dapat menyimulasikan perilaku aplikasi dari banyak klien FTP/FTPS dan HTTP/HTTPS. Satu proses curl-loader dapat mendukung 2,500 hingga 100,000 klien virtual, dengan setiap klien memiliki alamat IP sumber yang unik.
Asal-usul cURL
Sejarah cURL bermula pada tahun 1990-an, ketika alat baris perintah banyak digunakan. Pada tahun 1996, pengembang asal Swedia Daniel Stenberg mulai mengerjakan skrip ruang internet relay chat (IRC) untuk mengonversi mata uang bagi para peserta obrolan. Hal ini membawanya berkontribusi pada alat bernama httpget, metode HTTP populer untuk mengirimkan data melalui server. Eksperimen Stenberg menghasilkan httpget 0.1, yang terdiri dari “kurang dari 300 baris dalam satu berkas C.”
Beberapa bulan kemudian, protokol transfer berkas (FTP) muncul, mendorong Stenberg untuk menambahkan dukungan FTP ke alatnya dan mengganti namanya menjadi urlget 2.0. Pada 30 Maret 1998, ia menambahkan dukungan unggah FTP dan sekali lagi mengganti nama alat tersebut menjadi cURL 3.0.
Meskipun cURL memiliki potensi besar, pada awalnya alat ini hanya mendapat sedikit perhatian. Pada tahun 1998, setelah 15 kali pembaruan dan perilisan ulang, cURL telah diunduh lebih dari 300 kali dari situs Stenberg. Belakangan pada tahun itu, Red Hat Linux mengadopsi cURL, disusul Debian pada tahun 1999 dan Mac OS X 10.1 pada Agustus 2001. Sejak 2001, cURL menjadi fitur bawaan di hampir semua perangkat lunak yang dapat terhubung ke internet, termasuk Windows 10, perangkat iOS dan Android, Sony PS5, Nintendo Switch, Xbox, bahkan mobil.
Mengapa menggunakan cURL?
cURL menjadi pilihan populer di kalangan pengembang karena kemampuannya menangani operasi yang kompleks secara efektif. Keserbagunaan, kemampuan untuk digunakan dalam skrip, dan pustaka yang disertakan memungkinkan integrasi yang lancar dengan program lain tanpa perlu menulis kode khusus untuk penguraian HTTP dan jaringan.
cURL menawarkan banyak manfaat, seperti:
- Kemampuan menguji dan melakukan debugging endpoint
- Wawasan terperinci tentang data yang dikirim dan diterima
- Pencatatan kesalahan yang menyeluruh
- Dukungan untuk berbagai protokol
- Kompatibilitas dengan http2, Metalink, gzip, dekompresi otomatis, dan Content-Encoding
- Fitur lanjutan seperti unggah FTP, cookie, autentikasi pengguna, dukungan proxy, koneksi SSL, dan lainnya
- Pengalihan protokol otomatis jika protokol bawaan gagal
- Sintaks URL yang bergantung pada protokol
- Fungsi pembatasan laju
- Kemampuan menentukan bagian URL atau beberapa URL menggunakan tanda kurung kurawal (misalnya, https://google.{one, two, three}.com)
- Opsi untuk menentukan URL dalam jumlah berapa pun melalui baris perintah
Selain itu, para pengembang mengapresiasi verifikasi sertifikat SSL bawaan dan dukungan HTTPS dari cURL. Saat cURL terhubung ke server melalui HTTPS, cURL memperoleh sertifikat server dan membandingkannya dengan sertifikat CA untuk memastikan keaslian server jarak jauh.
Cara Menginstal cURL
Mari kita lihat cara menginstal cURL di komputer Anda.
macOS
Anda tidak perlu menginstal cURL di macOS karena cURL sudah terintegrasi dalam sistem operasi. Anda dapat menggunakannya secara langsung di aplikasi Terminal.
Windows
Mulai Windows 10, sistem operasi ini menyertakan salinan cURL. Namun, perintah cURL berfungsi sebagai alias untuk perintah PowerShell Invoke-WebRequest. Akibatnya, menjalankan perintah cURL di terminal Windows akan menjalankan Invoke-Request di balik layar. Untuk menggunakan cURL, ganti ‘curl’ dengan ‘curl.exe’, dan PowerShell akan menjalankan cURL, bukan Invoke-Request.
Misalnya, untuk memeriksa versi cURL yang saat ini terinstal di komputer Windows Anda, masukkan perintah berikut di terminal:
curl.exe --versionHasilnya akan terlihat seperti ini:
curl 7.83.1 (Windows) libcurl/7.83.1 Schannel Release-Date: 2022-05-13 Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp Features: AsynchDNS HSTS IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI UnixSocketsJika Anda ingin mempelajari lebih lanjut tentang cURL dan Windows, kami menyarankan Anda menonton video ini. Anda akan mengetahui apa itu cURL, cara menjalankannya di Windows, serta cara menjalankan permintaan API GET, POST, PUT, DELETE dengan cURL.
Linux
Bagi pengguna Linux, proses penginstalan cURL berbeda-beda, tergantung distribusi yang digunakan. Distribusi populer seperti Ubuntu dan Fedora sudah menyertakan cURL, sehingga Anda dapat langsung menggunakannya di terminal.
Untuk distribusi yang tidak menyertakan cURL secara bawaan, Anda dapat menginstalnya menggunakan pengelola paket distribusi tersebut. Misalnya, pada sistem operasi berbasis Debian, gunakan perintah berikut untuk menginstal cURL:
sudo apt-get install curlCara Menggunakan cURL
Pastikan cURL terinstal di perangkat Anda. Sebelum menggunakan cURL, pastikan aplikasi ini terinstal di sistem Anda. Jika belum, unduh dari situs web cURL.
A. Memeriksa instalasi cURL di perangkat Anda
Untuk memeriksa apakah cURL terinstal di sistem Anda, ikuti langkah-langkah berikut:
- Di PC Windows atau MacBook, buka antarmuka baris perintah atau terminal PowerShell.
- Ketik
'curl --version' - Tekan Enter.
Jika cURL terinstal di perangkat Anda, Anda akan menerima pesan seperti berikut:
curl --version curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL Release-Date: 2017-11-14, security patched: 2020-11-05 Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSLATAU
curl --version curl 7.31.0 (x86_64-apple-darwin12.4.0) libcurl/7.31.0 OpenSSL/0.9.8x zlib/1.2.5 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libzJika Anda melihat pesan yang berbeda, itu menunjukkan bahwa cURL belum terinstal di perangkat Anda dan Anda perlu menginstalnya.
B. Menentukan sintaks cURL yang tepat untuk digunakan
Secara default, cURL menggunakan protokol HTTP dengan sintaks berikut: cURL [options] [URL]
Karena cURL mendukung berbagai protokol, sintaksnya dapat sedikit berbeda untuk setiap protokol. Berikut beberapa contoh perintah cURL untuk protokol jaringan yang berbeda:
- File Transfer Protocol (FTP): cURL -T “selected file” “ftp://[target-destination]”
- Simple Mail Transfer Protocol (SMTP): cURL smtp://[smtp-server] –mail-from [sender] –mail-rcpt [recipient] –upload-file [mail-content-file]
- The Dictionary Network Protocol [DICT]: cURL “dict://dict.org/d:hi”
Penting untuk mengetahui protokol jaringan yang akan Anda gunakan agar pengalaman menggunakan cURL lebih optimal.
C. Menggunakan sintaks cURL yang tepat sesuai tujuan Anda
cURL memungkinkan Anda melakukan berbagai tugas, seperti mengunduh dan mengunggah file atau menangani autentikasi pengguna. Setiap tugas memerlukan sintaks cURL yang berbeda, terutama karena parameter dan protokol jaringan yang terlibat berbeda-beda.
Berikut beberapa tugas umum beserta perintah cURL yang sesuai:
- Untuk mengunduh file: curl -o [file name] [URL]
- Untuk mengunggah file menggunakan protokol FTP: curl -u [Username:Password] -T [local-file-path] ftp://[URL]
- Untuk meminta header HTTP: curl -I [URL]
Cara Menggunakan cURL untuk Scraping Ringan
cURL dapat digunakan untuk scraping web ringan bersama bahasa pemrograman seperti PHP.
Sebelum memulai scraping, pastikan Anda memeriksa file robots.txt di situs web target. Patuhi aturannya, meskipun tampak tidak masuk akal, karena pemilik situs web berhak menetapkan parameter dan batasan. Mematuhi file robots.txt saat melakukan perayapan web dianggap sebagai praktik standar, dan ketidakpatuhan dapat menimbulkan masalah hukum.
Dengan mengingat hal tersebut, berikut panduan menggunakan cURL untuk scraping web ringan.
Untuk mulai melakukan scraping, ikuti langkah-langkah berikut:
- Pilih bahasa pemrograman untuk scraping, seperti PHP. Tutorial ini akan menggunakan PHP.
- Buat file PHP baru.
- Inisialisasi handle cURL menggunakan curl_init.
$curl = curl_init - Atur CURLOPT_RETURNTRANSFER ke TRUE, yang mengembalikan halaman hasil transfer sebagai string. Perintah ini memberi tahu cURL untuk menyimpan halaman yang di-scrape sebagai variabel, alih-alih menampilkan seluruh halaman secara default: curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
- Mulai permintaan dan lakukan pemeriksaan kesalahan:
$page = curl_exec($curl);if(curl_errno($curl)) // check for execution errors { echo 'Scraper error: ' . curl_error($curl); exit; } - Tutup koneksi:
curl_close($curl);
Untuk mengekstrak hanya bagian informasi tertentu, Anda perlu menunjukkan bagian yang ingin diekstrak di bawah id=”case_textlist”. Secara default, cURL akan mengekstrak seluruh halaman:
$regex = '<div id="case_textlist">(.*?)</div>/s'; if (preg_match($regex, $page, $list)) echo $list[0]; else echo "Not found";Untuk mengurai situs web menggunakan server proxy di PHP, Anda dapat menggunakan pustaka cURL. Berikut contoh skrip PHP yang mengambil halaman web menggunakan server proxy:
Kode PHP:
<?php // Set the URL to fetch $url = "http://www.example.com"; // Set the proxy server and port $proxy = "proxy.example.com:8080"; // Create a new cURL resource $ch = curl_init(); // Set the cURL options curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Fetch the URL and output the response $response = curl_exec($ch); echo $response; // Close the cURL resource curl_close($ch); ?>Dalam skrip di atas, Anda dapat mengubah variabel $url menjadi URL situs web yang ingin diurai, dan mengubah variabel $proxy menjadi alamat dan port server proxy yang ingin digunakan. Fungsi curl_setopt() digunakan untuk mengatur opsi cURL, termasuk URL dan server proxy, serta mengembalikan respons sebagai string alih-alih menampilkannya secara langsung. Terakhir, fungsi curl_exec() digunakan untuk mengambil URL dan respons ditampilkan dengan echo. Fungsi curl_close() dipanggil untuk menutup resource cURL.
Dalam video di bawah ini, Anda akan mempelajari cara membuat scraper proxy dengan memuat URL situs web menggunakan cURL dan mencocokkannya dengan ekspresi reguler.
Cara Menggunakan cURL untuk Scraping Lanjutan
Berikut beberapa konfigurasi cUrl yang telah disempurnakan untuk membantu mengoptimalkan sesi scraping web Anda.
Subjudul: Menambahkan User Agent
Saat menggunakan cURL untuk mengunduh atau melakukan scraping tautan, cURL mengidentifikasi dirinya ke situs web sebagai cUrl. Dalam beberapa kasus, Anda mungkin tidak menginginkan hal ini karena situs web tertentu dapat mengenali cUrl sebagai bot dan memblokirnya.
Untuk menghindarinya, sertakan user-agent dengan menggunakan opsi -A atau –user-agent. Dalam contoh ini, kami menggunakan user-agent Firefox 65 di Windows 10:
curl -x https://fineproxy.de/ -v -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"Atau, Anda dapat mengirim user-agent di dalam header menggunakan opsi -H:
curl -x https://fineproxy.de/ -v -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"Subjudul: Mengonfigurasi Header
Saat melakukan scraping situs web, penting untuk menghindari kesan bahwa Anda adalah bot. Banyak situs web kini memblokir bot agar tidak mengekstrak data mereka karena bot dapat membebani server dan mengganggu layanan bagi pengguna manusia.
Untuk melakukannya, Anda perlu mengirim header yang sesuai dengan cURL.
Pertama, cari tahu header yang biasanya Anda kirim ke situs web target dengan mengeklik kanan dan memilih “Inspect”. Selanjutnya, buka tab “Network”. Muat ulang situs target, dan Anda akan melihat permintaan yang dibuat saat situs dimuat. Untuk memeriksa permintaan lebih saksama, Anda juga dapat mengeklik kanan permintaan tersebut dan menyalinnya sebagai baris perintah cUrl.
Setelah itu, konfigurasikan header di cUrl menggunakan opsi -H atau –header. Misalnya, berikut cara mengirim header “Accept” ke situs target:
curl -x https://fineproxy.de/ -v -H "Accept: text/html"Cara Menggunakan cURL dengan Server Proxy
Menggunakan cURL dengan proxy memungkinkan berbagai skenario penggunaan, seperti web scraping, yang memerlukan proxy untuk mencegah pemblokiran dan pelarangan dari situs. Dalam panduan ini, Anda akan mempelajari cara mengirim data melalui server proxy menggunakan cURL.
Ikuti langkah-langkah berikut untuk menggunakan cURL dengan Proxy:
1. Siapkan Server Proxy
Pertama, siapkan proxy Anda sesuai petunjuk yang diberikan oleh penyedia proxy. Untuk memverifikasi bahwa proxy Anda telah disiapkan dengan benar, masukkan perintah berikut di terminal Anda:
curl https://httpbin.org/ipPerintah ini menampilkan alamat IP perangkat Anda. Jika nilainya sama dengan alamat IP asli perangkat Anda, server proxy Anda belum disiapkan dengan benar. Jika nilainya berbeda, server proxy Anda telah dikonfigurasi dengan benar.
2. Konfigurasikan Proxy agar Berfungsi dengan Perintah cURL
Ada tiga cara untuk mengonfigurasi proxy agar dapat digunakan dengan cURL:
A. Menggunakan file konfigurasi (.curlrc)
File konfigurasi adalah file teks yang berisi pengaturan yang Anda inginkan, disimpan dalam format file .curlrc di direktori sistem Anda agar mudah diakses saat menjalankan perintah cURL.
File konfigurasi proxy berisi data dalam format berikut:
proxy = "[protocol://][host][:port]"Anda dapat menyimpan beberapa pengaturan konfigurasi di dalam file dan mengaktifkannya sesuai kebutuhan. Sebelum menjalankan perintah cURL, buka file tersebut, dan setiap perintah cURL yang Anda jalankan akan menggunakan pengaturan proxy dari file konfigurasi.
Membuat file konfigurasi adalah metode terbaik bagi mereka yang berulang kali menggunakan cURL dengan proxy dan mengekstrak data dalam jumlah besar. Cara ini menghemat waktu karena Anda tidak perlu mengonfigurasi proxy untuk cURL setiap kali.
B. Menggunakan argumen baris perintah
Metode ini cocok untuk penggunaan proxy satu kali dengan perintah cURL, karena hanya memerlukan sintaks proxy cURL secara langsung. Sintaksnya adalah sebagai berikut:
curl -x "[protocol://][host][:port]" [URL] [options]Karena protokol default cURL adalah HTTP, Anda harus menentukan protokol dan detail server proxy, terutama jika Anda menggunakan protokol jaringan yang berbeda.
C. Menggunakan variabel lingkungan
Metode ketiga melibatkan pengaturan variabel http_proxy dan https_proxy, yang dikenal sebagai variabel lingkungan dan memengaruhi proses yang berjalan di tingkat sistem. Perintah ini merupakan bagian dari sistem operasi dan dapat mengesampingkan parameter lain.
Sintaks untuk pengaturan proxy cURL melalui variabel lingkungan adalah sebagai berikut:
export http_proxy="[protocol://][host][:port]" export https_proxy="[protocol://][host][:port]"Setelah menjalankan perintah ini, setiap perintah cURL yang Anda jalankan akan secara otomatis melewati server proxy. Sekarang mari kita bahas metode ini lebih lanjut.
Menggunakan cURL dengan Proxy melalui Variabel Lingkungan
Variabel lingkungan mirip dengan objek yang menyimpan nilai yang dapat diedit di dalam memori dan dapat digunakan oleh satu atau lebih program perangkat lunak. Dalam hal ini, kita dapat meneruskan variabel bernama http_proxy atau https_proxy ke cURL, yang berisi informasi proxy kita, sehingga kita tidak perlu menentukannya setiap kali menjalankan perintah. Anda dapat melakukannya dengan menjalankan perintah ini:
$ export http_proxy="http://fineproxy.proxy_type=datacenter.device=desktop:<YOUR-API-KEY>@proxy.fineproxy.de:80"Harap diperhatikan bahwa Anda harus menamai variabel Anda http_proxy atau https_proxy agar cURL dapat memahaminya. Selesai. Anda tidak perlu lagi memberikan kredensial setiap kali menjalankan perintah, dan sekarang Anda dapat menjalankan cURL dengan mudah seperti ini:
$ curl http://httpbin.org/getPerintah ini akan menghasilkan keluaran berikut:
{ "args": {}, "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8", "Accept-Encoding": "gzip, deflate, br", "Host": "httpbin.org", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", "X-Amzn-Trace-Id": "Root=1-633bf912-66ace1104304ddaf5ea8ac65" }, "origin": "132.255.134.104", "url": " http://httpbin.org/get" }Seperti yang Anda lihat, alamat IP tersebut adalah alamat IP proxy, yang menegaskan bahwa Anda telah menyiapkan proxy dengan sangat baik. Pada tahap ini, kita dapat menjalankan perintah cURL apa pun tanpa menentukan informasi proxy, karena cURL akan menanganinya untuk kita.
7 Trik dan Tips Penting
Di bagian ini, kami akan menyajikan beberapa trik menarik dan tips yang sangat berguna untuk menggunakan proxy dengan cUrl, sesuai kebutuhan spesifik Anda.
Tip 1: Mengatur Proxy Khusus untuk cUrl
Untuk menetapkan proxy hanya untuk tugas berbasis cUrl, gunakan urutan perintah berikut:
cd ~ $ nano .curlrc- Tambahkan baris ini ke file:
proxy=http://user:pwd@IP_address_or_FQDN:portContoh:
proxy=http://testuser:[email protected]:3128- Jalankan cUrl seperti biasa:
$ curl " https://www.reddit.com"Tip 2: Mengaktifkan dan Menonaktifkan Proxy
Buat alias di file .bashrc menggunakan editor Anda untuk melakukannya:
$ cd ~alias proxyon="export http_proxy=' http://user:pwd@Proxy_IP_or_FQDN:Port';export https_proxy=' http://user:pwd@Proxy_IP_or_FQDN:Port'"alias proxyoff="unset http_proxy;unset https_proxy"Contoh:
alias proxyon="export http_proxy=' http://testuser:[email protected]:3128';export https_proxy=' http://testuser:[email protected]:3128'"Periksa konfigurasi alias dengan cepat dengan menjalankan perintah alias di terminal. Simpan file .bashrc dan perbarui shell menggunakan:
$ ~/.bashrcTip 3: Mengabaikan Kesalahan Sertifikat SSL
Saat cUrl menemukan kesalahan sertifikat SSL, permintaan tersebut akan diblokir. Untuk ‘melewati’ kesalahan sertifikat SSL saat melakukan debugging, terutama untuk situasi sekali pakai, tambahkan -k atau –insecure ke baris perintah cUrl:
curl -x "[protocol://][host][:port]" -k [URL]Tip 4: Mendapatkan Informasi Lebih Lanjut tentang Permintaan
Jika permintaan Anda tidak berfungsi seperti yang diharapkan, Anda mungkin ingin memeriksa jalur permintaan, header, dan berbagai kesalahan. Untuk menyelidiki permintaan tersebut, tambahkan -v (–verbose) setelah cUrl pada permintaan, yang akan menampilkan semua header permintaan dan koneksi yang terjadi.
Tip 5: Mengabaikan Proxy untuk Satu Permintaan
Untuk mengesampingkan proxy untuk permintaan tertentu, gunakan baris perintah berikut:
curl --proxy " http://user:pwd@Proxy_FQDN_or_IPAddress" " https://reddit.com"Atau gunakan:
$ curl --noproxy "*" https://www.reddit.comUntuk sepenuhnya melewati proxy. Dengan opsi -v, Anda dapat melihat koneksi yang langsung menuju Reddit tanpa menggunakan proxy apa pun.
Tip 6: Menggunakan Proxy SOCK
Jika Anda ingin menggunakan jenis proxy SOCK apa pun (4/4a/5/5h), struktur kodenya tetap sama seperti sebelumnya, kecuali Anda mengganti bagian yang sesuai dengan jenis SOCKS yang tepat:
curl -x "socks5://user:pwd@Proxy_IP_or_FQDN:Port" https://www.reddit.comContoh:
$ curl -x "socks5://testuser: [email protected]:3128" https://www.reddit.comTip Pro 7: Jika protokol tidak ditentukan, cURL akan menggunakan SOCKS4 secara default!
Curl vs Wget
Wget adalah alat baris perintah yang memiliki banyak fitur untuk memungkinkan transfer file menggunakan protokol jaringan standar seperti HTTP, HTTPS, dan FTP. Namanya merupakan gabungan huruf pertama WWW dan ‘get,’ yang menunjukkan bahwa Wget pada awalnya dibuat untuk pertukaran data web.
Sintaks standar untuk perintah Wget adalah:
Wget [option] [URL]Perintah Wget sebanding dengan perintah cURL dan menjalankan fungsi serupa, tetapi dengan cara yang berbeda.
5 Kesamaan antara cURL dan Wget
- Keduanya merupakan utilitas baris perintah yang dapat mengunduh file dari FTP dan HTTP atau HTTPS serta mendukung permintaan HTTP POST.
- Keduanya adalah perangkat lunak sumber terbuka.
- cURL dan Wget diperkenalkan pada tahun yang sama, yaitu 1996.
- Keduanya memiliki lisensi yang serupa, yaitu lisensi GPLv3.
- Keduanya merupakan paket perangkat lunak ringan yang dapat digunakan pada beberapa sistem operasi.
10 Perbedaan antara cURL dan Wget
Perbedaan utama antara cURL dan Wget terletak pada cara utilitas ini menjalankan permintaan dan sumber daya yang digunakan untuk mencapai tujuannya. Tabel berikut menyoroti perbedaan tersebut:
| cURL | Wget | |
|---|---|---|
| 1. Pustaka | Didukung oleh pustaka libcURL | Tidak memerlukan pustaka |
| 2. Operasi | Mengirimkan data dalam satu operasi, tanpa pengunduhan rekursif | Mendukung pengunduhan rekursif |
| 3. Protokol | Mendukung beragam protokol jaringan | Hanya mendukung HTTP(S) dan FTP |
| 4. Unduhan | Memerlukan -o atau -O untuk mengunduh URL jarak jauh ke file lokal | Tidak memerlukan -o atau -O untuk mengunduh URL jarak jauh |
| 5. Unggahan | Dapat mengunggah dan mentransfer data dalam kedua arah | Hanya mendukung permintaan HTTP POST sederhana |
| 6. Proksi | Mendukung jenis proksi HTTPS, SOCKS 4, dan SOCKS 5 | Mendukung proksi HTTP, tetapi tidak mendukung jenis proksi SOCKS |
| 7. Autentikasi | Mendukung teknik autentikasi tambahan untuk proksi HTTP | Hanya mendukung proses autentikasi dasar untuk proksi HTTP |
| 8. Portabilitas | Lebih portabel dan sudah terpasang di Windows dan macOS | Kurang portabel dan tidak terpasang secara bawaan di Windows dan macOS |
| 9. Fitur | Mengharuskan setiap fitur ditentukan secara langsung | Fitur seperti cookie dan stempel waktu diaktifkan secara bawaan |
| 10. Persyaratan | Tidak memerlukan paket gnulib atau kompiler C99 | Memerlukan gnulib dan kompiler C99Kapan Menggunakan cURL atau Wget |
Dalam kebanyakan situasi, cURL adalah pilihan terbaik, tetapi ada kalanya Wget lebih sesuai. Anda harus menentukan utilitas baris perintah mana yang akan membantu Anda menyelesaikan tugas dengan lebih cepat dan efektif. Contohnya:
- Wget menangani percobaan ulang unduhan pada koneksi yang tidak stabil dengan lebih baik daripada cURL.
- Wget menawarkan kemampuan pengunduhan seperti pengunduhan rekursif yang andal dan kontrol bandwidth, yang tidak dimiliki cURL.
Oleh karena itu, sebaiknya gunakan perintah Wget dalam situasi seperti itu. Selain itu, jika protokol jaringan selain HTTP/HTTPS dan FTP digunakan, cURL adalah pilihan yang lebih baik. Pilihan Anda untuk menggunakan cURL atau Wget akan selalu bergantung pada karakteristik tugas yang sedang Anda kerjakan.
Kesimpulan
Perintah cURL adalah alat yang andal dan serbaguna bagi siapa pun yang perlu mentransfer data dalam jumlah besar melalui jaringan. Menggunakan cURL dengan proksi merupakan peningkatan yang bermanfaat dan memungkinkan Anda menyelesaikan hampir semua tugas. Kombinasi ini memastikan privasi dan keamanan data tanpa mengurangi fleksibilitas perintah cURL. Meskipun Wget memiliki banyak fitur, cURL lebih disukai karena antarmukanya yang mudah digunakan dan kemampuannya yang andal.
Berdasarkan pembahasan sejauh ini, Anda mungkin tertarik untuk mencoba berbagai keunggulan cURL. Jika belum terpikir untuk mencobanya, sebaiknya Anda melakukannya. Tetap cURLy (permainan kata yang disengaja).
