CURLOPT_POSTFIELDS dalam Curl untuk Permintaan POST
Apabila menggunakan curl untuk melaksanakan permintaan POST dan menentukan pilihan CURLOPT_POSTFIELDS, adalah penting untuk mempertimbangkan format yang sesuai. Sebagai contoh, pertimbangkan untuk menyiarkan dua medan, "pertama" dan "terakhir":
"first=John&last=Smith"
Pemformatan Rentetan
Jika menghantar rentetan sebagai data POST, ia harus dikodkan URL untuk memastikan pengekodan aksara yang betul. Kod berikut menunjukkan perkara ini:
$data = urlencode("first=John&last=Smith");
Pemformatan Tatasusunan
Walau bagaimanapun, jika data POST ialah tatasusunan, ia mesti mengikut nilai "kunci =>" format:
$data = [ 'first' => 'John', 'last' => 'Smith' ];
Dalam kes ini, curl secara automatik akan menetapkan pengepala Jenis Kandungan kepada "multipart/form-data".
Pengepala Jenis Kandungan
Menetapkan pengepala Jenis Kandungan secara eksplisit disyorkan untuk keserasian yang lebih baik. Contohnya, untuk menetapkannya kepada "application/json":
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
Menggunakan http_build_query()
Sebagai alternatif, bukannya membina rentetan pertanyaan secara manual, http_build_query PHP () fungsi boleh digunakan:
$query = http_build_query($data, '', '&'); curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
Fungsi ini mengendalikan Pengekodan URL dan pemformatan kunci=nilai yang betul dengan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Memformat CURLOPT_POSTFIELDS dengan betul dalam Permintaan CURL POST?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!