cURL Cheat Sheet

Perintah cUrl yang berguna dengan parameter

Berikut adalah panduan singkat untuk perintah cURL yang paling berguna beserta parameter-parameternya:

seseorang dengan tanda curl

Gambar di atas dihasilkan oleh Flux - model AI teks ke gambar.

Penggunaan Dasar cURL

  • Unduh file: curl http://example.com/file.zip -o file.zip
  • Unduh beberapa file: curl -O URL1 -O URL2
  • Ikuti redirect: curl -L http://example.com/file
  • Tampilkan hanya header: curl -I http://example.com

Otentikasi

  • Otentikasi dasar: curl -u username:password http://example.com
  • Gunakan file .netrc: curl --netrc-file .netrc http://example.com

Metode HTTP

  • Permintaan POST: curl -X POST -d 'name=value' http://example.com
  • Permintaan PUT: curl -X PUT -d @file http://example.com
  • Metode khusus: curl -X METODE http://example.com

Header dan Data

  • Tambahkan header khusus: curl -H "X-Header: Nilai" http://example.com
  • Kirim data JSON: curl -H "Content-Type: application/json" -d '{"key":"value"}' http://example.com
  • Kirim data formulir: curl -F "key=value" -F "file=@localfile" http://example.com

Opsi SSL/TLS

  • Abaikan verifikasi sertifikat SSL: curl -k https://example.com
  • Gunakan sertifikat klien: curl --cert cert.pem --key key.pem https://example.com

Proxy dan Jaringan

  • Gunakan proxy: curl -x proxysever.server.com:PORT http://example.com
  • Batasi kecepatan unduh: curl --limit-rate 1000B -O http://example.com/file

Kontrol Output

  • Mode diam: curl -s http://example.com
  • Mode rinci: curl -v http://example.com
  • Tulis output ke file: curl -o file.html http://example.com
  • Simpan dengan nama file jarak jauh: curl -O http://example.com/file.zip

Berbagai

  • Lanjutkan unduhan yang gagal: curl -C - -o partial_file.zip http://example.com/file.zip
  • Tetapkan timeout: curl --connect-timeout 10 http://example.com
  • Gunakan file konfigurasi: curl -K config_file http://example.com

Panduan ini mencakup perintah cURL yang paling umum digunakan beserta parameternya, memberikan referensi cepat untuk berbagai operasi HTTP dan transfer data.

Perintah cURL Lanjutan

Berikut adalah beberapa perintah cURL lanjutan untuk debugging:

  1. Output rinci: curl -v https://example.com Perintah ini memberikan informasi rinci tentang permintaan dan respons, termasuk header dan detail koneksi.

  2. Dump trace lengkap: curl --trace - https://example.com Ini menghasilkan hexdump dari semua data masuk dan keluar, memberikan pandangan menyeluruh tentang seluruh komunikasi.

  3. Trace dengan timestamp: curl --trace - --trace-time https://example.com Ini menambahkan timestamp ke output trace, membantu menganalisis masalah terkait waktu.

  4. Tampilkan hanya header respons: curl -s -o /dev/null -D - https://example.com Perintah ini menampilkan hanya header respons, berguna untuk analisis cepat header.

  5. Tampilkan hanya header permintaan: curl -v -s -o /dev/null --stderr - https://example.com | grep '^>' Perintah kompleks ini menyaring hanya header permintaan, berguna untuk memeriksa apa yang dikirim.

  6. Gunakan Pantheon Debugger: curl -I -H "Pantheon-Debug:1" https://example.com Perintah ini menggunakan header Debug Pantheon untuk mendapatkan informasi tambahan tentang permintaan, berguna untuk situs yang dihosting di Pantheon.

  7. Paksa protokol HTTP/2: curl --http2 https://example.com Ini memastikan penggunaan protokol HTTP/2, yang dapat dikombinasikan dengan -I untuk memverifikasi dukungan HTTP/2.

  8. Debug dengan netcat: Di satu terminal: nc -l 1234 Di terminal lain: curl http://127.0.0.1:1234 Ini memungkinkan Anda melihat secara tepat apa yang dikirim oleh curl, berguna untuk debugging payload.

Perintah lanjutan ini menyediakan kemampuan debugging yang kuat, memungkinkan pengembang memeriksa berbagai aspek komunikasi HTTP dan memecahkan masalah kompleks.

Penggunaan Umum cURL

curl adalah alat baris perintah yang sangat fleksibel dengan berbagai aplikasi. Berikut adalah beberapa penggunaan umum untuk curl:

Interaksi Web

  1. Unduh file: curl dapat mengunduh file dari URL.
  2. Web scraping: curl dapat mengambil konten halaman web untuk tujuan scraping.
  3. Menguji situs web: curl berguna untuk memeriksa apakah situs web dapat diakses dan mengambil kontennya.

Interaksi API

  1. Mengirim permintaan API: curl mendukung berbagai metode HTTP (GET, POST, PUT, DELETE) untuk berinteraksi dengan API.
  2. Menguji endpoint API: curl menyediakan cara cepat untuk menguji dan memperbaiki endpoint API tanpa memerlukan klien API khusus.

Pemecahan Masalah Jaringan

  1. Memeriksa koneksi: curl dapat digunakan untuk memverifikasi koneksi jaringan dan memecahkan masalah.
  2. Menguji DNS: curl memungkinkan memaksa penggunaan server DNS tertentu untuk memecahkan masalah terkait DNS.
  3. Memeriksa header: curl dapat menampilkan header HTTP, yang berguna untuk debugging.

Transfer Data

  1. Operasi FTP: curl mendukung transfer file menggunakan File Transfer Protocol (FTP).
  2. Interaksi SMTP: curl dapat digunakan untuk mengirim email melalui Simple Mail Transfer Protocol (SMTP).

Keamanan dan Otentikasi

  1. Koneksi SSL: curl mendukung koneksi aman menggunakan SSL/TLS.
  2. Otentikasi: curl dapat menangani berbagai metode otentikasi, termasuk otentikasi dasar dan sertifikat klien.

Pengembangan dan Debugging

  1. Meniru berbagai metode HTTP: curl memungkinkan pengembang menguji berbagai metode HTTP dengan mudah.
  2. Log rinci: Mode rinci curl menyediakan informasi rinci tentang siklus permintaan-respons, membantu dalam debugging.

Penggunaan umum ini menunjukkan fleksibilitas curl sebagai alat untuk interaksi web, pengujian API, pemecahan masalah jaringan, dan tugas pengembangan.

Pengujian Kinerja Situs Web dengan cURL

curl adalah alat yang kuat untuk menguji kinerja situs web. Berikut adalah cara Anda dapat menggunakan curl untuk mengukur berbagai aspek kecepatan muat situs web:

Pengujian Kinerja Dasar

Untuk mendapatkan ukuran sederhana waktu muat situs web, gunakan perintah berikut:

curl -o /dev/null -s -w "Total Time: %{time_total}s\n" "https://example.com"

Perintah ini akan menghasilkan waktu total yang dibutuhkan untuk mengambil situs web[2].

Metrik Kinerja yang Lebih Rinci

Untuk analisis yang lebih menyeluruh, Anda dapat menggunakan curl untuk mengukur berbagai metrik kinerja:

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://example.com

Perintah ini memberikan penjelasan tentang berbagai tahap dalam proses muat, termasuk waktu pencarian DNS, waktu koneksi, dan waktu total[1].

Metrik Lanjutan

Untuk analisis yang lebih rinci, Anda dapat menyertakan metrik tambahan:

curl -o /dev/null -w "HTTP Version: %{http_version}\nPage Size: %{size_download} bytes\nResponse Code: %{response_code}\nDNS Lookup: %{time_namelookup} sec\nConnect Time: %{time_connect} sec\nTime to First Byte: %{time_starttransfer} sec\nTotal Time: %{time_total} sec\n" -s https://example.com

Perintah ini mencakup informasi tentang versi HTTP, ukuran halaman, dan kode respons[3].

Benchmarking Permintaan Berulang

Untuk menguji konsistensi atau memantau kinerja seiring waktu, Anda dapat menggunakan loop untuk membuat beberapa permintaan:

for i in {1..5}; do curl -o /dev/null -s -w "Request $i Total Time: %{time_total}\n" https://example.com; done

Ini akan menjalankan uji coba lima kali dan menampilkan waktu total untuk setiap permintaan[3].

Membuat Skrip Pengujian Kinerja

Anda dapat membuat skrip bash sederhana untuk mengotomatisasi pengujian ini dan menyimpan hasilnya:

#!/bin/bash
curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null URL > webspeedtest_"$(date)"

Ganti “URL” dengan situs web yang ingin Anda uji. Skrip ini akan menyimpan hasilnya dalam file yang diberi tanda tanggal[5].

Dengan menggunakan perintah curl dan skrip ini, Anda dapat secara efektif mengukur dan memantau kinerja situs web, membantu Anda mengidentifikasi potensi bottleneck dan mengoptimalkan waktu muat.

Tautan yang Berguna