cURL adalah utilitas baris perintah sumber terbuka dan gratis yang digunakan untuk mentransfer data ke atau dari host jarak jauh dengan interaksi pengguna yang minimal. cURL bekerja dengan protokol utama seperti HTTP, FTP, SCP, dan SFTP.
Ini memungkinkan pengguna untuk mengunggah dan mengunduh data baik menggunakan perintah tunggal atau skrip bash. Ini juga menyediakan fitur seperti otentikasi pengguna, tunneling proxy, resume unduhan, unggahan berbasis formulir, sertifikat SSL, dan banyak lagi. Aman untuk mengatakan bahwa cURL lebih dari sekadar klien HTTP.
Tutorial ini akan memandu Anda melalui satu fungsi cURL yang memungkinkan pengguna untuk melakukan permintaan posting HTTP menggunakan data file.
Sebelum kita mulai, izinkan saya menyebutkan bahwa ini bukan panduan pemula untuk cURL; Anda memerlukan tingkat pengetahuan sebelumnya, terutama pengetahuan tentang protokol jaringan, permintaan HTTP, dan banyak lagi.
Sebelum kita dapat menggunakan cURL untuk melakukan permintaan POST, mari kita siapkan terlebih dahulu.
Cara Memasang cURL
Dalam kebanyakan kasus, Anda akan menemukan cURL terinstal di distribusi Linux utama secara default. Untuk mengonfirmasi Anda memiliki cURL, gunakan perintah
ikal --bantuanJika Anda mendapatkan kesalahan:
-bash: curl: perintah tidak ditemukanAnda harus menginstalnya sebelum melanjutkan.
Gunakan manajer paket default untuk menyelesaikan instalasi seperti yang ditunjukkan pada perintah di bawah ini:
sudo apt-get updatesudo apt-get install curl -y
Sebelum membahas cara POST data dari file dengan cURL, izinkan saya berbicara tentang permintaan POST secara singkat. Seperti biasa, jika Anda sudah terbiasa dengan ini, Anda dapat langsung melewatinya; jika tidak, bertahanlah.
Permintaan POSTING CURL
Permintaan posting HTTP adalah salah satu metode permintaan HTTP/HTTPS paling populer yang digunakan untuk mengirim data ke host jarak jauh untuk membuat atau memperbarui sumber daya.
Sekarang:
Tolong jangan bingung metode dengan PUT; meskipun mereka sangat mirip, mereka memiliki perbedaan.
Data yang dikirim menggunakan permintaan POST terutama disimpan di badan permintaan permintaan HTTP.
Misalnya, pertimbangkan permintaan POST di bawah ini yang mengirimkan nama pengguna dan kata sandi serta nilainya.
POST /dibatasi/login.php HTTP/1.1 Host: linuxhint.com Content-Type: application/x-www-form-urlencoded username=linuxhint&password=passwordUntuk mengirim permintaan POST di atas menggunakan cURL, kita dapat menentukan perintah sebagai:
curl -x POST -d "username=linuxhint&password=password" https://linuxhint.com/dibatasi/login.phpPada perintah di atas, kami menggunakan opsi -d untuk memberi tahu cURL agar menyertakan header default, yaitu Content-Type: application/x-www-form-urlencoded
Opsi -X menentukan metode permintaan HTTP yang akan digunakan, dalam hal ini, permintaan HTTP POST.
cURL Tentukan Tipe-Konten
Dalam beberapa kasus, kami mungkin ingin menentukan [secara eksplisit] Tipe-Konten saat mengirim permintaan. Entitas Content-Type di header menentukan jenis media sumber daya yang kami kirim. Jenis media juga biasa dikenal sebagai Jenis MIME.
Jika Anda ingin mempelajari tentang Jenis MIME, pertimbangkan sumber daya yang disediakan di bawah ini:
https://linkfy.ke/Tipe-IANA-MIME
Untuk menentukan Content-Type dalam permintaan cURL, kita dapat menggunakan flag -H. Misalnya, mari kita kirim MIME Type of application/JSON.
curl -X POST -d "username": "linuxhint", "password": "password" -H "Content-Type: application/json" https://linuxhint.com/dibatasi/login.phpDi atas menentukan bahwa kami ingin mengirim objek JSON ke URL yang disediakan. Anda dapat menggunakan ini untuk membaca nilai dari file JSON atau mengirimkannya sebagai mentah.
Cara Membaca Data dari File
Misalkan Anda ingin membuat permintaan di baris perintah menggunakan cURL, tetapi Anda memiliki data untuk dikirim yang disimpan dalam file. Anda dapat menggunakan Content-Type untuk menentukan jenis media dan kemudian meneruskan jalur file yang berisi data. Untuk contoh ini, saya akan mengilustrasikan menggunakan objek JSON.
File JSON (data.json) berisi nilai-nilai berikut:
"nama pengguna": "linuxhint",
"kata sandi": "kata sandi"
Untuk mengirim data ini dari file JSON, kita dapat menggunakan -d dan kemudian meneruskan nama file seperti yang ditunjukkan pada perintah di bawah ini:
curl -X POST -H "Jenis Konten: aplikasi/json" -d "@data.json” https://linuxhint.com/dibatasi/login.phpAnda juga dapat menggunakan opsi -data-biner.
curl -X POST -H "Content-Type: application/json" --data-binary "@/home/user/data.json” https://linuxhint.com/dibatasi/login.phpAnda juga dapat menggunakan file teks untuk mengirim data; yang perlu Anda tentukan adalah Content-Type sebagai teks/polos.
Misalnya, file teks (data.txt) yang berisi nilai-nilai berikut:
username=linuxhint&password=passwordMenggunakan perintah cURL, cukup kirim permintaan sebagai:
curl -X POST -H "Tipe Konten: teks/polos" -d "data.txt” https://linuxhint.com/dibatasi/login.phpAnda dapat menggunakan jenis file lain yang dapat Anda gunakan seperti XML, HTML, dan banyak lagi.
Kesimpulan
Dalam tutorial ini, kita telah membahas cara membuat permintaan POST dan meneruskan data dalam berbagai format. Perlu diingat bahwa selain sangat kuat, cURL juga sangat fleksibel. Itu dapat menggabungkan kumpulan opsi dalam satu perintah untuk membuat permintaan yang kuat. Untuk informasi lebih lanjut, saya merekomendasikan dokumentasi cURL karena ditulis dengan baik.
https://curl.se/dokumen/
Terima kasih telah membaca, dan bersenang-senanglah dengan cURL.