Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memformat CURLOPT_POSTFIELDS dengan betul dalam Permintaan CURL POST?

Bagaimana untuk Memformat CURLOPT_POSTFIELDS dengan betul dalam Permintaan CURL POST?

Linda Hamilton
Lepaskan: 2024-12-25 07:08:09
asal
974 orang telah melayarinya

How to Properly Format CURLOPT_POSTFIELDS in cURL POST Requests?

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");
Salin selepas log masuk

Pemformatan Tatasusunan

Walau bagaimanapun, jika data POST ialah tatasusunan, ia mesti mengikut nilai "kunci =>" format:

$data = [
    'first' => 'John',
    'last' => 'Smith'
];
Salin selepas log masuk

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']);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan