Saat data perlu dikirimkan ke URL eksternal, API misalnya, curl dapat digunakan. Curl ada di baris perintah dan sebagai perpustakaan di banyak bahasa pemrograman, seperti PHP Show POSTing data dengan curl, perintahnyaMemulai dengan perintah curl biasanya sangat membantu. Ini juga membantu untuk memahami cara kerja URL jarak jauh, bidang apa yang diperlukan dan jenis input apa (seperti multiform atau json) yang diterima ck@mintp ~ $ curl -X POST https. //ku. contoh. kompos. php -d "nama depan=Claudio" -d "nama belakang=Kuenzler" -d "perusahaan=Infiniroot GmbH" Dalam hal ini beberapa bidang/parameter (nama depan, nama belakang, dan perusahaan) dikirimkan ke URL eksternal. Menggunakan cara pengiriman data "default" ini, gunakan aplikasi tipe konten/x-www-form-urlencoded di latar belakang. Ini dapat diverifikasi menggunakan opsi --trace (diikuti dengan tanda hubung lainnya) ck@mintp ~ $ curl --trace - -X POST https. //ku. contoh. kompos. php -d "nama depan=Claudio" -d "nama belakang=Kuenzler" -d "perusahaan=Infiniroot GmbH" Catatan 1. -trace tersedia sejak curl ~7. 51 Jika API jarak jauh memerlukan data yang dikirimkan dalam format JSON, permintaan HTTP POST perlu sedikit disesuaikan ck@mintp. ~$ curl -X POST -H "Jenis-Konten. aplikasi/json" https. //ku. contoh. kompos. php -d '"nama depan". "Claudio", "nama belakang". "Kuenzler", "perusahaan". "Infiniroot GmbH"' Di sini header Content-Type diatur ke application/json dan data diformat ke dalam format JSON POSTing data dengan libcurl di PHPSeperti disebutkan, curl juga bisa digunakan di PHP. Jika Anda berasal dari baris perintah curl, ini mungkin terlihat aneh pada awalnya. Semua opsi dan parameter baris perintah curl ditentukan oleh curl_setopt untuk satu opsi atau curl_setopt_array untuk beberapa opsi sekaligus Jadi tipikal POST dengan libcurl di PHP, menggunakan data yang sama seperti pada contoh baris perintah, terlihat seperti ini // Memasukkan semua data POST ke dalam array // Inisialisasi panggilan curl baru // Masukkan semua opsi curl yang berbeda ke dalam array // Gunakan larik opsi dan beri tahu curl untuk menggunakan opsi ini // Luncurkan permintaan curl menggunakan curl_exec dan simpan hasilnya (dari URL jarak jauh) di $response // Tutup panggilan curl Ini sekali lagi menggunakan aplikasi Content-Type default/x-www-form-urlencoded POST data json dengan libcurl di PHPUntuk mengirimkan data dalam format json, array $data terlebih dahulu harus diformat menjadi json. Ini dapat dengan mudah dilakukan dengan menggunakan fungsi json_encode. Fungsi ini pada dasarnya mem-parsing array dan membuat string json darinya, disimpan sebagai $payload. Selain itu, header Content-Type perlu ditambahkan di $opts // Memasukkan semua data POST ke dalam array // Format ulang data menjadi JSON // Inisialisasi panggilan curl baru // Masukkan semua opsi curl yang berbeda ke dalam array // Gunakan larik opsi dan beri tahu curl untuk menggunakan opsi ini // Luncurkan permintaan curl menggunakan curl_exec dan simpan hasilnya (dari URL jarak jauh) di $response // Tutup panggilan curl Debug dengan curl_getinfoApakah kode berjalan dengan baik atau tidak, Anda mungkin ingin mendapatkan informasi tambahan tentang permintaan curl yang dieksekusi. Di sinilah curl_getinfo berperan. Fungsi ini menganalisis panggilan curl ($curl) dan menyimpan informasi tentang permintaan dan respons server dalam sebuah array. Sebelum menutup panggilan curl, informasi dapat disimpan ke dalam variabel ($info) // Memasukkan semua data POST ke dalam array // Format ulang data menjadi JSON // Inisialisasi panggilan curl baru // Masukkan semua opsi curl yang berbeda ke dalam array // Gunakan larik opsi dan beri tahu curl untuk menggunakan opsi ini // Luncurkan permintaan curl menggunakan curl_exec dan simpan hasilnya (dari URL jarak jauh) di $response // Menyimpan informasi tentang panggilan curl yang dieksekusi ini // Tutup panggilan curl Seperti disebutkan di atas, informasi (nilai pengembalian) tentang transmisi curl ini disimpan dalam array. Ada banyak nilai pengembalian, lihat dokumentasi curl_getinfo untuk daftar terbaru. Apa yang pasti membantu untuk digunakan dalam setiap kode, adalah memeriksa http_code (kode pengembalian http dari respons server) |