cURL adalah utiliti baris perintah sumber terbuka dan bebas yang digunakan untuk memindahkan data ke atau dari host jauh dengan interaksi pengguna minimum. cURL berfungsi dengan protokol utama seperti HTTP, FTP, SCP, dan SFTP.
Ini memungkinkan pengguna memuat naik dan memuat turun data baik menggunakan perintah tunggal atau skrip bash. Ia juga menyediakan ciri seperti pengesahan pengguna, terowong proksi, resume muat turun, muat naik berasaskan borang, sijil SSL, dan banyak lagi. Adalah selamat untuk mengatakan bahawa cURL lebih daripada klien HTTP.
Tutorial ini akan memandu anda melalui satu fungsi cURL yang membolehkan pengguna melakukan permintaan pos HTTP menggunakan data fail.
Sebelum kita memulakan, izinkan saya menyebutkan bahawa ini bukan panduan pemula untuk mengongkong; anda memerlukan tahap pengetahuan terlebih dahulu, terutama pengetahuan mengenai protokol rangkaian, permintaan HTTP, dan banyak lagi.
Sebelum kita dapat menggunakan CURL untuk melaksanakan permintaan POST, mari kita siapkan terlebih dahulu.
Cara Memasang cURL
Dalam kebanyakan kes, anda akan dapati cURL dipasang di sebaran Linux utama secara lalai. Untuk mengesahkan anda mempunyai cURL, gunakan arahan
keriting - menolongSekiranya anda mendapat ralat:
-bash: curl: arahan tidak dijumpaiAnda perlu memasangnya sebelum meneruskan.
Gunakan pengurus pakej lalai untuk menyelesaikan pemasangan seperti yang ditunjukkan dalam perintah di bawah:
sudo apt-get kemas kinisudo apt-get install curl -y
Sebelum membincangkan cara POST data dari fail dengan cURL, izinkan saya untuk membincangkan permintaan POST secara ringkas. Seperti biasa, jika anda sudah biasa dengan ini, anda boleh melangkau ke hadapan; jika tidak, teruskan.
Permintaan POST CURL
Permintaan pos HTTP adalah salah satu kaedah permintaan HTTP / HTTPS yang paling popular digunakan untuk mengirim data ke host jauh untuk membuat atau mengemas kini sumber.
Sekarang:
Jangan mengelirukan kaedah dengan PUT; walaupun mereka serupa, mereka mempunyai perbezaan.
Data yang dikirim menggunakan permintaan POST terutama disimpan di badan permintaan permintaan HTTP.
Sebagai contoh, pertimbangkan permintaan POST di bawah yang menghantar nama pengguna dan kata laluan serta nilainya.
POST / terhad / log masuk.php HTTP / 1.1 Tuan rumah: linuxhint.com Content-Type: application / x-www-form-urlencoded username = linuxhint & password = kata laluanUntuk mengirim permintaan POST di atas menggunakan cURL, kami dapat menentukan perintah sebagai:
curl -x POST -d "username = linuxhint & password = password" https: // linuxhint.com / terhad / log masuk.phpDalam perintah di atas, kami menggunakan opsi -d untuk memberitahu cURL untuk memasukkan tajuk lalai, iaitu Content-Type: application / x-www-form-urlencoded
Pilihan -X menentukan kaedah permintaan HTTP untuk digunakan, dalam hal ini, permintaan HTTP POST.
cURL Nyatakan Jenis Kandungan
Dalam beberapa kes, kami mungkin ingin menentukan [secara eksplisit] Jenis Konten ketika mengirim permintaan. Entiti Jenis Kandungan dalam tajuk menentukan jenis media sumber yang kami hantar. Jenis media juga dikenali sebagai Jenis MIME.
Sekiranya anda ingin mengetahui tentang Jenis MIME, pertimbangkan sumber yang disediakan di bawah:
https: // linkfy.ke / IANA-MIME-Jenis
Untuk menentukan Jenis Kandungan dalam permintaan cURL, kita dapat menggunakan bendera -H. Sebagai contoh, mari kita hantar aplikasi MIME Jenis / JSON.
curl -X POST -d "username": "linuxhint", "password": "password" -H "Content-Type: application / json" https: // linuxhint.com / terhad / log masuk.phpPerkara di atas menunjukkan bahawa kami ingin menghantar objek JSON ke URL yang disediakan. Anda boleh menggunakannya untuk membaca nilai dari fail JSON atau menghantarnya sebagai mentah.
Cara Membaca Data dari Fail
Katakan anda ingin membuat permintaan dalam baris perintah menggunakan cURL, tetapi anda mempunyai data untuk dihantar disimpan dalam fail. Anda boleh menggunakan Content-Type untuk menentukan jenis media dan kemudian lulus jalur fail yang mengandungi data. Untuk contoh ini, saya akan menggambarkan menggunakan objek JSON.
Fail JSON (data.json) mengandungi nilai berikut:
"nama pengguna": "linuxhint",
"kata laluan": "kata laluan"
Untuk mengirim data ini dari file JSON, kita dapat menggunakan -d dan kemudian meneruskan nama fail seperti yang ditunjukkan dalam perintah di bawah:
curl -X POST -H "Content-Type: application / json" -d "@data.json ”https: // linuxhint.com / terhad / log masuk.phpAnda juga boleh menggunakan pilihan -data-binary.
curl -X POST -H "Content-Type: application / json" --data-binary "@ / home / pengguna / data.json ”https: // linuxhint.com / terhad / log masuk.phpAnda juga boleh menggunakan fail teks untuk menghantar data; semua yang anda perlu nyatakan ialah Jenis Kandungan sebagai teks / dataran.
Contohnya, fail teks (data.txt) mengandungi nilai berikut
nama pengguna = linuxhint & password = kata laluanDengan menggunakan perintah cURL, hantarkan permintaan sebagai:
curl -X POST -H "Content-Type: text / plain" -d "data.txt ”https: // linuxhint.com / terhad / log masuk.phpAnda boleh menggunakan jenis fail lain yang boleh anda gunakan seperti XML, HTML, dan banyak lagi.
Kesimpulannya
Dalam tutorial ini, kami telah membincangkan cara membuat permintaan POST dan menyampaikan data dalam pelbagai format. Adalah baik untuk diingat bahawa selain sangat kuat, cURL juga sangat fleksibel. Ia dapat menggabungkan sekumpulan pilihan dalam satu perintah untuk membuat permintaan yang kuat. Untuk maklumat lebih lanjut, saya mengesyorkan dokumentasi cURL kerana ditulis dengan baik.
https: // ikal.se / dokumen /
Terima kasih kerana membaca, dan bergembiralah dengan cURL.