Jika Anda mencari alat yang memungkinkan Anda menguji proxy dan mengikis situs secara bersamaan, Anda datang ke tempat yang tepat. cURL adalah alat baris perintah yang memungkinkan Anda menguji proxy dan melakukan beberapa web scraping dasar. Intuitif dan mudah dipelajari, cURL juga dapat mengirim permintaan, menambahkan cookie, melakukan debug, dan terhubung ke proxy, antara lain.
Panduan langkah demi langkah ini akan mengajari Anda apa itu cURL, cara menggunakan berbagai perintahnya, cara menggunakannya untuk web scraping ringan, dan cara menggunakan cURL dengan server proxy. Panduan ini mungkin sedikit rumit, jadi pastikan Anda memiliki pemahaman dasar tentang apa itu proxy sebelum mulai membaca. Mengetahui beberapa dasar-dasar web scraping juga akan bermanfaat.
Daftar isi
- Apa itu cURL?
- Cara Memasang Curl
- Cara Menggunakan Curl
- Cara Menggunakan cURL dengan Server Proxy
- 7 Trik dan Tip Penting
- Keriting vs Wget
- Kesimpulan
Apa itu cURL?
cURL, kependekan dari “URL klien”, adalah alat baris perintah yang memfasilitasi transfer data melalui internet. Ini mencakup baris perintah curl.exe dan perpustakaan lintas platform yang disebut libcurl
, yang memungkinkan pertukaran data antar server.
Kompatibel dengan berbagai sistem operasi modern yang memanfaatkan protokol internet, cURL beroperasi pada perangkat mulai dari laptop hingga mobil. Ini mendukung berbagai protokol internet, seperti:
- DICT
- MENGAJUKAN
- FTP
- FTPS
- MENGGALI
- HTTP
- HTTPS
- IMAP
- IMAP
- LDAP
- LDAPS
- MQTT
- POP3
- POP3S
- RTSP
- SCP
- SFTP
- UKM
- SMBS
- SMTP
- SMTPS
- TELNET
- TFTP
Komunitas besar telah mengembangkan berbagai alat untuk cURL, termasuk curl-loader, alat pengujian kinerja perangkat lunak Linux sumber terbuka. Curl-loader dapat meniru 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 unik.
Asal Usul CURL
Sejarah cURL dimulai pada tahun 1990-an, ketika alat baris perintah masih lazim. Pada tahun 1996, pengembang Swedia Daniel Stenberg mulai mengerjakan skrip ruang obrolan relai internet (IRC) untuk mengonversi mata uang bagi peserta obrolan. Hal ini mendorongnya untuk berkontribusi pada alat yang disebut httpget, metode HTTP populer untuk mengirimkan data melalui server. Eksperimen Stenberg menghasilkan httpget 0.1, yang terdiri dari “kurang dari 300 baris dari satu file C.”
Beberapa bulan kemudian, protokol transfer file (FTP) muncul, mendorong Stenberg untuk memasukkan dukungan FTP ke dalam alatnya dan menamainya urlget 2.0. Pada tanggal 30 Maret 1998, dia menambahkan dukungan pengunggahan FTP dan mengganti nama alat tersebut sekali lagi menjadi cURL 3.0.
Meskipun cURL memiliki potensi besar, awalnya hanya mendapat sedikit perhatian. Pada tahun 1998, setelah 15 pembaruan dan rilis ulang, cURL memiliki lebih dari 300 unduhan dari situs Stenberg. Belakangan pada tahun itu, Red Hat Linux mengadopsi cURL, diikuti oleh Debian pada tahun 1999 dan Mac OS X 10.1 pada bulan Agustus 2001. Sejak tahun 2001, cURL telah menjadi fitur default di hampir semua perangkat lunak yang dapat terhubung ke internet, termasuk perangkat Windows 10, iOS dan Android. Sony PS5, Nintendo Switch, Xbox, dan bahkan mobil.
Mengapa menggunakan Curl?
cURL adalah pilihan populer di kalangan pengembang karena kemampuannya menangani operasi kompleks secara efektif. Keserbagunaan, kemampuan skrip, dan pustaka yang disertakan memungkinkan integrasi tanpa batas dengan program lain tanpa perlu menulis penguraian HTTP khusus dan kode jaringan.
cURL menawarkan banyak hal manfaat, seperti:
- Kemampuan pengujian dan debugging titik akhir
- Wawasan mendetail tentang data yang dikirim dan diterima
- Pencatatan kesalahan yang komprehensif
- Dukungan untuk berbagai protokol
- Kompatibilitas dengan http2, Melink, gzip, dekompresi otomatis, dan Pengkodean Konten
- Fitur-fitur canggih seperti unggahan FTP, cookie, otentikasi pengguna, dukungan proxy, koneksi SSL, dan banyak lagi
- Peralihan protokol otomatis jika protokol default gagal
- Sintaks URL yang bergantung pada protokol
- Fungsionalitas yang membatasi kecepatan
- Kemampuan untuk menentukan bagian URL atau beberapa URL dengan menggunakan tanda kurung (misalnya https://google.{one, two, three}.com)
- Pilihan untuk menentukan sejumlah URL melalui baris perintah
Selain itu, pengembang menghargai verifikasi sertifikat SSL default CURL dan dukungan HTTPS. Ketika cURL terhubung ke server melalui HTTPS, ia memperoleh sertifikat server dan membandingkannya dengan sertifikat CA, memastikan keaslian server jarak jauh.
Cara Memasang Curl
Mari jelajahi cara menginstal cURL di komputer Anda.
macOS
Tidak perlu menginstal cURL di macOS, karena sudah tergabung dalam sistem operasi. Anda dapat menggunakannya secara asli di aplikasi Terminal.
jendela
Dimulai dengan Windows 10, sistem operasi menyertakan salinan cURL. Namun, perintah cURL berfungsi sebagai alias untuk PowerShell Invoke-WebRequest memerintah. Akibatnya, menjalankan perintah cURL di terminal Windows akan memulai Invoke-Request di belakang layar. Untuk menggunakan cURL, ganti 'curl' dengan 'curl.exe', dan PowerShell akan menjalankan cURL, bukan Invoke-Request.
Misalnya, untuk memeriksa versi cURL saat ini yang terinstal di mesin Windows Anda, masukkan perintah berikut di terminal:
curl.exe --version
Outputnya harus menyerupai:
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 UnixSockets
Jika Anda ingin mempelajari lebih lanjut tentang cURL dan Windows, kami menyarankan Anda menonton video ini. Anda akan diberitahu apa itu cURL, cara menjalankannya di windows, dan cara menjalankan permintaan API GET, POST, PUT, DELETE dengan cURL.
Linux
Untuk pengguna Linux, proses instalasi cURL bervariasi tergantung pada distribusi spesifik Anda. Distribusi populer seperti Ubuntu dan Fedora hadir dengan cURL yang sudah diinstal sebelumnya, sehingga Anda dapat menggunakannya langsung di terminal.
Untuk distribusi yang tidak menyertakan cURL secara default, Anda dapat menginstalnya menggunakan manajer paket distribusi Anda. Misalnya, pada sistem operasi berbasis Debian, gunakan perintah berikut untuk menginstal cURL:
sudo apt-get install curl
Cara Menggunakan Curl
Pastikan cURL diinstal pada perangkat Anda. Sebelum menggunakan cURL, pastikan sudah diinstal pada sistem Anda. Jika tidak, unduh dari situs web cURL.
A. Verifikasi instalasi cURL pada perangkat Anda
Untuk memeriksa apakah cURL diinstal pada sistem Anda, ikuti langkah-langkah berikut:
- Di PC Windows atau MacBook, buka antarmuka baris perintah atau terminal PowerShell.
- Jenis
'curl --version'
- Tekan enter.
Jika cURL diinstal pada perangkat Anda, Anda akan menerima pesan seperti ini:
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 SSL
ATAU
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 libz
Jika Anda melihat pesan yang berbeda, ini menunjukkan bahwa cURL tidak diinstal pada perangkat Anda, dan Anda perlu menginstalnya.
B. Tentukan sintaks cURL yang sesuai untuk digunakan
Secara default, cURL menggunakan protokol HTTP, dengan sintaks berikut: cURL [pilihan] [URL]
Karena cURL mendukung banyak protokol, sintaksisnya mungkin sedikit berbeda untuk masing-masing protokol. Berikut beberapa contoh perintah cURL untuk berbagai protokol jaringan:
- Protokol Transfer File (FTP): cURL -T "file yang dipilih" "ftp://[tujuan-target]"
- Protokol Transfer Surat Sederhana (SMTP): cURL smtp://[smtp-server] –mail-dari [pengirim] –mail-rcpt [penerima] –upload-file [file-konten-mail]
- Protokol Jaringan Kamus [DICT]: cURL “dict://dict.org/d:hi”
Penting untuk mengetahui protokol jaringan mana yang akan Anda gunakan untuk mengoptimalkan pengalaman cURL Anda.
C. Gunakan sintaks CURL yang sesuai untuk tujuan Anda
cURL memungkinkan Anda melakukan berbagai tugas, seperti mengunduh dan mengunggah file atau menangani otentikasi pengguna. Setiap tugas memerlukan sintaks cURL yang berbeda, terutama karena parameter spesifik dan protokol jaringan yang terlibat.
Berikut adalah beberapa tugas umum dan perintah cURL terkait:
- Untuk mengunduh file: curl -o [nama file] [URL]
- Untuk mengunggah file menggunakan protokol FTP: curl -u [Nama Pengguna: Kata Sandi] -T [jalur-file lokal] ftp://[URL]
- Untuk meminta header HTTP: keriting -I [URL]
Cara Menggunakan cURL untuk Pengikisan Ringan
cURL dapat digunakan untuk web scraping ringan yang dikombinasikan dengan bahasa pemrograman seperti PHP.
Sebelum memulai pengikisan, pastikan Anda meninjau file robots.txt dari situs web target. Patuhi aturan, meskipun tampak tidak logis, karena pemilik situs web berhak menetapkan parameter dan batasan. Mematuhi file robots.txt saat perayapan web dianggap sebagai praktik standar, dan ketidakpatuhan dapat mengakibatkan komplikasi hukum.
Oleh karena itu, berikut panduan penggunaan cURL untuk web scraping ringan.
Untuk mulai menggores, ikuti langkah-langkah berikut:
- Pilih bahasa pemrograman untuk scraping, seperti PHP. Tutorial ini akan menggunakan PHP.
- Buat file PHP baru.
- Inisialisasi pegangan cURL menggunakan curl_init.
$curl = curl_init
- Setel CURLOPT_RETURNTRANSFER ke TRUE, yang mengembalikan halaman transfer sebagai string. Perintah ini memberitahu cURL untuk menyimpan halaman yang tergores sebagai variabel daripada 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 sebagian informasi tertentu, Anda harus menunjukkan apa yang ingin Anda ekstrak 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 website menggunakan server proxy di PHP, Anda dapat menggunakan perpustakaan cURL. Berikut ini 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);
?>
Pada script di atas, Anda dapat mengubah variabel $url menjadi URL website yang ingin Anda parsing, dan mengubah variabel $proxy menjadi alamat dan port server proxy yang ingin Anda gunakan. Fungsi curl_setopt() digunakan untuk mengatur opsi cURL, termasuk URL, server proxy, dan untuk mengembalikan respons sebagai string alih-alih mengeluarkannya secara langsung. Terakhir, fungsi curl_exec() digunakan untuk mengambil URL dan responsnya dikeluarkan dengan echo. Fungsi curl_close() dipanggil untuk menutup sumber daya cURL.
Dalam video di bawah ini, Anda akan mempelajari cara membuat scraper proxy dengan memuat URL situs web dengan cURL dan mencocokkannya dengan ekspresi reguler.
Cara Menggunakan cURL untuk Pengikisan Tingkat Lanjut
Berikut adalah beberapa konfigurasi cUrl yang disempurnakan yang dapat membantu mengoptimalkan sesi web scraping Anda.
Subjudul: Memasukkan Agen Pengguna
Saat menggunakan cURL untuk mengunduh atau mengikis tautan, ia mengidentifikasi dirinya ke situs web sebagai cUrl. Dalam beberapa kasus, Anda mungkin tidak menginginkan hal ini, karena situs web tertentu mungkin mengenali cUrl sebagai bot dan memblokirnya.
Untuk menghindari hal ini, sertakan agen-pengguna dengan menggunakan opsi -A atau –agen-pengguna. Dalam contoh ini, kami telah menggunakan agen pengguna 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"
Alternatifnya, Anda dapat mengirim agen pengguna 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 menyalin situs web, penting untuk menghindari dianggap sebagai bot. Banyak situs web sekarang memblokir bot agar tidak mengekstrak datanya karena dapat membebani server dan mengganggu layanan bagi pengguna manusia.
Untuk mencapai hal ini, Anda perlu mengirimkan header yang sesuai dengan cURL.
Pertama, tentukan header yang biasa Anda kirim ke situs target dengan mengklik kanan dan memilih “Periksa.” Selanjutnya, navigasikan ke tab “Jaringan”. Refresh situs target, dan Anda akan melihat permintaan yang dibuat selama pemuatan situs. Untuk memeriksa permintaan lebih dekat, Anda juga dapat mengklik kanan permintaan tersebut dan menyalinnya sebagai baris perintah cUrl.
Setelah itu, konfigurasikan header di cUrl menggunakan opsi -H atau –header. Misalnya, inilah cara Anda mengirim header “Terima” ke situs target:
curl -x https://fineproxy.de/ -v -H "Accept: text/html"
Cara Menggunakan cURL dengan Server Proxy
Memanfaatkan cURL dengan proxy memungkinkan berbagai kasus penggunaan, seperti web scraping, di mana proxy diperlukan untuk mencegah larangan dan pemblokiran 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 Proksi
Pertama, atur proxy Anda sesuai dengan instruksi yang diberikan oleh penyedia proxy Anda. Untuk memverifikasi bahwa proxy Anda sudah diatur dengan benar, masukkan perintah berikut di terminal Anda:
curl https://httpbin.org/ip
Perintah ini mengembalikan alamat IP perangkat Anda. Jika nilainya cocok dengan alamat IP asli perangkat Anda, server proxy Anda tidak dikonfigurasi dengan benar. Jika tidak cocok, server proxy Anda dikonfigurasi dengan benar.
2. Konfigurasikan Proxy Anda agar Bekerja dengan Perintah cURL
Ada tiga cara mengonfigurasi proksi Anda untuk 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 untuk memudahkan akses saat menjalankan perintah cURL.
File konfigurasi proxy berisi data dalam format ini:
proxy = "[protocol://][host][:port]"
Anda dapat menyimpan beberapa pengaturan konfigurasi dalam file dan mengaktifkannya sesuai kebutuhan. Sebelum menjalankan perintah cURL, buka file, dan perintah cURL apa pun 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. Ini menghemat waktu dengan menghilangkan kebutuhan untuk mengkonfigurasi proxy untuk cURL setiap saat.
B. Menggunakan argumen baris perintah
Metode ini cocok untuk penggunaan proksi satu kali dengan perintah cURL, karena hanya memerlukan sintaks proksi cURL langsung. Sintaksnya adalah sebagai berikut:
curl -x "[protocol://][host][:port]" [URL] [options]
Karena protokol default CURL adalah HTTP, Anda harus menentukan rincian protokol dan 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, yang mempengaruhi proses yang berjalan di tingkat sistem. Perintah-perintah ini adalah bagian dari sistem operasi dan dapat mengesampingkan parameter lainnya.
Sintaks 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 bicara lebih banyak tentang metode ini.
Menggunakan cURL Dengan Proxy melalui Variabel Lingkungan
Variabel lingkungan mirip dengan objek yang menyimpan nilai yang dapat diedit di memori yang 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, dan kita tidak perlu menentukannya setiap kali kita 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 dicatat bahwa Anda harus memberi nama variabel Anda http_proxy atau https_proxy agar cURL dapat memahaminya. Itu dia. Anda tidak perlu lagi memberikan kredensial Anda setiap kali menjalankan perintah, dan kini Anda dapat menjalankan cURL sesederhana ini:
$ curl http://httpbin.org/get
Ini akan memberi kita 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 adalah milik proxy, mengonfirmasi bahwa Anda telah melakukan pekerjaan yang sangat baik dalam menyiapkan proxy Anda. Pada titik ini, kita dapat menjalankan perintah cURL apa pun tanpa menentukan informasi proxy, karena cURL akan menanganinya untuk kita.
7 Trik dan Tip Penting
Di bagian ini, kami akan menyajikan beberapa trik menarik dan tip berharga untuk menggunakan proxy dengan cUrl, yang disesuaikan dengan kebutuhan spesifik Anda.
Tip 1: Mengatur Proxy Secara Eksklusif untuk cUrl
Untuk menunjuk proksi 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:port
Contoh:
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 di editor Anda untuk mencapai hal ini:
$ 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 pengaturan alias dengan cepat dengan menjalankan perintah alias di terminal. Simpan .bashrc dan perbarui shell menggunakan:
$ ~/.bashrc
Tip 3: Melewati Kesalahan Sertifikat SSL
Ketika cUrl menemukan kesalahan sertifikat SSL, ia memblokir permintaan tersebut. Untuk 'melewatkan' kesalahan sertifikat SSL untuk proses debug, terutama dalam situasi yang hanya terjadi satu kali saja, 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) ke permintaan setelah cUrl, yang akan menampilkan semua header permintaan dan koneksi yang dialami.
Tip 5: Mengabaikan Proxy untuk Satu Permintaan
Untuk mengganti proksi 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.com
Untuk melewati proxy sepenuhnya. Dengan opsi -v, ini menunjukkan koneksi langsung ke Reddit tanpa menggunakan proxy apa pun.
Tip 6: Memanfaatkan Proksi 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 relevan dengan jenis SOCKS yang sesuai:
curl -x "socks5://user:pwd@Proxy_IP_or_FQDN:Port" https://www.reddit.com
Contoh:
$ curl -x "socks5://testuser:[email protected]:3128" https://www.reddit.com
Tip Pro 7: Jika tidak ada protokol yang ditentukan, cURL defaultnya adalah SOCKS4!
Keriting vs Wget
Wget adalah alat baris perintah yang memiliki banyak fitur yang memungkinkan transfer file menggunakan protokol jaringan standar seperti HTTP, HTTPS, dan FTP. Namanya merupakan kombinasi huruf pertama WWW dan 'get', yang menyatakan bahwa Wget terutama 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 berbeda.
5 Persamaan antara cURL dan Wget
- Keduanya adalah utilitas baris perintah yang dapat mengunduh file dari FTP dan HTTP atau HTTPS dan mendukung permintaan HTTP POST.
- Keduanya adalah perangkat lunak sumber terbuka.
- Baik cURL dan Wget diperkenalkan pada tahun yang sama, 1996.
- Keduanya memiliki lisensi serupa, yaitu lisensi GPLv3.
- Keduanya merupakan paket perangkat lunak ringan yang bekerja pada beberapa sistem operasi.
10 Perbedaan Antara cURL dan Wget
Perbedaan utama antara cURL dan Wget terletak pada cara utilitas ini mengeksekusi permintaan dan sumber daya yang mereka gunakan untuk mencapai tujuannya. Tabel berikut menyoroti perbedaan-perbedaan ini:
keriting | dapatkan | |
---|---|---|
1. Perpustakaan | Didukung oleh perpustakaan libcURL | Tidak diperlukan perpustakaan |
2. Operasi | Mengirimkan data dalam satu operasi, tanpa pengunduhan rekursif | Mendukung pengunduhan rekursif |
3. Protokol | Mendukung berbagai protokol jaringan | Hanya mendukung HTTP(S) dan FTP |
4. Unduh | Memerlukan -o atau -O untuk mengunduh URL jauh ke file lokal | Tidak memerlukan -o atau -O untuk mengunduh URL jauh |
5. Unggahan | Dapat mengunggah dan mentransfer data dua 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. Otentikasi | Mendukung teknik otentikasi tambahan untuk proxy HTTP | Hanya mendukung proses otentikasi dasar untuk proxy HTTP |
8. Portabilitas | Lebih portabel dan sudah diinstal sebelumnya di Windows dan macOS | Kurang portabel dan tidak diinstal sebelumnya di Windows dan macOS |
9. Fitur | Mengharuskan setiap fitur ditentukan secara langsung | Memiliki fitur seperti cookie dan stempel waktu yang diaktifkan secara default |
10. Persyaratan | Tidak memerlukan paket gnulib atau kompiler C99 | Membutuhkan kompiler gnulib dan C99Kapan Menggunakan cURL atau Wget |
Dalam sebagian besar situasi, cURL adalah pilihan terbaik, namun ada beberapa contoh di mana Wget lebih tepat. Anda harus menentukan utilitas baris perintah mana yang akan membantu Anda menyelesaikan tugas Anda lebih cepat dan efektif. Misalnya:
- Wget menangani percobaan ulang pengunduhan melalui koneksi yang goyah lebih baik daripada cURL.
- Wget menawarkan kemampuan pengunduhan seperti pengunduhan rekursif yang menentukan dan kontrol bandwidth yang tidak dimiliki cURL.
Oleh karena itu, yang terbaik adalah menggunakan perintah Wget dalam situasi seperti itu. Selain itu, ketika 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 kekhasan tugas yang Anda lakukan.
Kesimpulan
Perintah cURL adalah alat yang ampuh dan serbaguna bagi siapa saja yang perlu mentransfer data dalam jumlah besar melalui jaringan. Menggunakan cURL dengan proxy adalah peningkatan yang diinginkan yang memungkinkan Anda menyelesaikan hampir semua tugas. Kombinasi ini memastikan privasi dan keamanan data tanpa kehilangan keserbagunaan perintah cURL. Meskipun Wget sangat luas, cURL lebih disukai karena antarmukanya yang ramah pengguna dan kemampuannya yang kuat.
Berdasarkan apa yang telah kita bahas sejauh ini, Anda mungkin mempertimbangkan untuk mencoba efek keren dari cURL. Jika Anda belum mempertimbangkannya, Anda harus melakukannya. Tetap keriting (permainan kata-kata yang dimaksudkan).