Cara Mengirim Permintaan POST Dengan cURL

cURL adalah utilitas baris perintah serbaguna yang dirancang untuk transfer data yang lancar di berbagai protokol jaringan, termasuk HTTP, HTTPS, dan FTP. Tersedia di semua sistem operasi utama, cURL telah menjadi alat standar untuk mengirim permintaan HTTP dari baris perintah. Utilitas lintas platformnya mendukung protokol seperti HTTP, HTTPS, FTP, dan IMAP, sehingga memudahkan pengiriman permintaan ke API dan mengikis situs web. Karena ketersediaannya yang luas dan dukungan protokolnya, cURL umumnya dirujuk dalam dokumentasi REST API sebagai cara cepat untuk menguji panggilan API langsung dari baris perintah.
Tutorial ini membahas secara mendalam tentang eksekusi permintaan POST menggunakan cURL, memungkinkan komunikasi yang efisien dengan server melalui instruksi baris perintah yang sederhana.
Apa itu Permintaan POST?
Permintaan POST adalah metode HTTP yang digunakan untuk mengirim data ke server dan merupakan salah satu metode HTTP yang paling umum. Tidak seperti permintaan GET, di mana data disertakan dalam URL, permintaan POST mengirimkan data dalam isi permintaan. Hal ini memungkinkan transfer data yang rahasia dan menghindari batasan panjang URL yang diberlakukan oleh browser pada permintaan GET.
Permintaan POST sering digunakan untuk pengiriman formulir, pengunggahan file, dan pengiriman data JSON ke API. Karena data disimpan dalam badan permintaan, data tersebut tidak terlihat dalam riwayat browser, dan tidak seperti permintaan GET, permintaan POST biasanya tidak di-cache oleh browser.
Kasus Penggunaan Praktis untuk Permintaan cURL POST
Permintaan CURL POST digunakan secara luas dalam berbagai skenario, termasuk:
- Menguji REST API – Pengembang menggunakan cURL untuk menguji titik akhir API dengan cepat sebelum menerapkannya dalam aplikasi.
- Mengotomatiskan Pengiriman Formulir – Dengan menggunakan cURL, Anda dapat mengotomatiskan interaksi dengan formulir web, mengirimkan data tanpa input manual.
- Mengunggah Berkas – Banyak API yang memperbolehkan pengunggahan berkas menggunakan permintaan POST, menjadikan cURL alat efektif untuk mengotomatisasi proses ini.
- Berinteraksi dengan Sistem Autentikasi – Pengembang dapat menggunakan cURL untuk mengautentikasi pengguna dan mengakses sumber daya yang dilindungi dengan token API atau kredensial.
- Pengikisan dan Integrasi Data – Ekstraksi dan integrasi data dari berbagai sumber daring disederhanakan menggunakan kemampuan permintaan POST cURL.
Menjalankan Permintaan POST dengan cURL
Untuk mulai menggunakan cURL untuk permintaan POST, pastikan cURL telah terinstal di sistem Anda. Jika Anda belum menginstalnya, baca panduan kami tentang pengaturan cURL. Berikut adalah tabel referensi yang merangkum opsi-opsi penting cURL:
Bendera Pendek | Bendera Panjang | Argumen(s) | Keterangan |
-X | --meminta | (gunakan "POST" untuk permintaan POST) | Menentukan metode HTTP untuk permintaan |
-B | --kue | Mengirimkan cookie dalam permintaan | |
-C | --toples-kue | Menyimpan cookie yang diterima ke dalam sebuah file | |
-D | --data | Mentransmisikan data dalam permintaan POST | |
-F | --gagal | Memastikan kegagalan senyap pada kesalahan server | |
-F | --membentuk | <nama=konten> | Mengirimkan data formulir (application/x-www-form-urlencoded) |
-H | --judul | tajuk/@berkas | Termasuk header HTTP khusus |
-Saya | --termasuk | Menampilkan header HTTP dalam respons | |
-aku | --kepala | Hanya mengambil header | |
-k | --merasa tidak aman | Melewati verifikasi SSL | |
-L | --lokasi | Mengikuti pengalihan (3XX) | |
-Hai | --keluaran | Menyimpan output ke file tertentu | |
-HAI | --nama-jarak-jauh | Menyimpan output dengan nama file jarak jauh | |
-S | --diam | Menekan pesan keluaran | |
-v | --bertele-tele | Memungkinkan keluaran terperinci (debugging) | |
-w | --tulis-keluar | Output detail respons |
Untuk melihat daftar lengkap pilihan yang tersedia, gunakan:
curl --bantuan
Kesalahan Umum dan Cara Memperbaikinya
Meskipun cURL sangat hebat, pengguna sering mengalami kesalahan saat mengirim permintaan POST. Berikut ini beberapa masalah umum dan solusinya:
- curl: (6) Tidak dapat menyelesaikan host – Ini berarti nama domain salah atau ada masalah resolusi DNS. Periksa kembali URL.
- curl: (7) Gagal terhubung ke host – Menunjukkan bahwa server tidak dapat dijangkau. Pastikan server online dan Anda memiliki koneksi internet aktif.
- curl: (35) Kesalahan koneksi SSL – Jika permintaan gagal karena masalah SSL, coba gunakan -k untuk melewati verifikasi SSL.
- HTTP 400 Bad Request – Ini berarti server menolak permintaan, sering kali karena format data yang salah. Periksa jenis konten dan muatan data.
- HTTP 401 Tidak Resmi – Terjadi saat autentikasi diperlukan tetapi tidak ada atau salah. Pastikan kunci API atau kredensial diteruskan dengan benar dengan -u atau -H "Otorisasi: Pembawa <token>".
Sintaks Permintaan POST Dasar
curl -X POST -d "Halo" https://example.com/api
Dalam perintah ini:
- -X POST menentukan jenis permintaan.
- -d "Halo" mendefinisikan data yang sedang dikirim.
- https://example.com/api adalah URL target.
Mengatur Header Tipe Konten
curl -X POST -H "Jenis Konten: text/plain" -d "Halo" https://example.com/api
Menambahkan -H "Content-Type: text/plain" memberi tahu server bahwa format data adalah teks biasa.
Mengirim Data JSON
curl -X POST -H "Jenis Konten: aplikasi/json" -d '{"key":"value"}' https://example.com/api
Menggunakan application/json sebagai tipe konten memastikan data ditafsirkan dengan benar sebagai JSON.
Mengirim Data XML
curl -X POST -H "Jenis Konten: aplikasi/xml" -d '<?xml versi="1.0" pengkodean="UTF-8"?><root><nama>John Doe</nama><umur>30</umur></root>' https://example.com/api
Mengunggah File dengan POST
curl -X POST -F "file=@/path/to/img.png" https://example.com/api/upload
Untuk mengunggah beberapa file:
curl -X POST -F "file=@/jalur/ke/img1.png" -F "file=@/jalur/ke/img2.png" https://example.com/api/upload
Otentikasi dengan cURL
curl -u nama pengguna:kata sandi https://example.com/login
Ganti nama pengguna dan kata sandi dengan kredensial yang sebenarnya.
Kesimpulan
cURL menyederhanakan interaksi HTTP dengan opsi baris perintah yang kuat dan fleksibel. Dengan menguasai permintaan POST, pengembang dapat mengelola komunikasi API, transmisi data, dan unggahan file secara efisien. Baik Anda perlu menguji titik akhir API, mengotomatiskan pengiriman formulir, atau mengambil data dari situs web, cURL menyediakan solusi yang ringan dan efektif. Teruslah bereksperimen dengan cURL untuk mengoptimalkan alur kerja Anda!
Harap diperhatikan bahwa Plisio juga menawarkan kepada Anda:
Buat Faktur Kripto dalam 2 Klik and Terima Donasi Kripto
14 integrasi
- BigCommerce
- Ecwid
- Magento
- Opencart
- osCommerce
- PrestaShop
- VirtueMart
- WHMCS
- WooCommerce
- X-Cart
- Zen Cart
- Easy Digital Downloads
- ShopWare
- Botble
10 perpustakaan untuk bahasa pemrograman paling populer
- PHP Perpustakaan
- Python Perpustakaan
- React Perpustakaan
- Vue Perpustakaan
- NodeJS Perpustakaan
- Android sdk Perpustakaan
- C#
- Ruby
- Java
- Kotlin
19 cryptocurrency dan 12 blockchain
- Bitcoin (BTC)
- Ethereum (ETH)
- Ethereum Classic (ETC)
- Tron (TRX)
- Litecoin (LTC)
- Dash (DASH)
- DogeCoin (DOGE)
- Zcash (ZEC)
- Bitcoin Cash (BCH)
- Tether (USDT) ERC20 and TRX20 and BEP-20
- Shiba INU (SHIB) ERC-20
- BitTorrent (BTT) TRC-20
- Binance Coin(BNB) BEP-20
- Binance USD (BUSD) BEP-20
- USD Coin (USDC) ERC-20
- TrueUSD (TUSD) ERC-20
- Monero (XMR)