Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah CURLOPT_POSTFIELDS Mengendalikan Data Rentetan dan Tatasusunan dalam Permintaan CURL POST?

Bagaimanakah CURLOPT_POSTFIELDS Mengendalikan Data Rentetan dan Tatasusunan dalam Permintaan CURL POST?

Patricia Arquette
Patricia Arquetteasal
2024-12-08 12:27:14554semak imbas

How Does CURLOPT_POSTFIELDS Handle String and Array Data in cURL POST Requests?

CURLOPT_POSTFIELDS dan Format Data POST dalam cURL

Apabila menggunakan cURL untuk permintaan POST, format data yang akan disiarkan melalui CURLOPT_POSTFIELDS bergantung pada sifat data.

Data Rentetan:

Jika menghantar rentetan, seperti "first=John&last=Smith", anda mesti mengekodnya menggunakan urlencode(). Ini menghalang aksara seperti ampersand (&) daripada mengganggu penghantaran data.

Data Tatasusunan:

Untuk data tatasusunan, cURL menetapkan pengepala Jenis Kandungan kepada berbilang bahagian secara automatik /form-data, yang penting untuk menghantar data borang berbilang bahagian. Setiap pasangan nilai kunci dalam tatasusunan sepadan dengan medan borang dan nilainya.

Sebagai contoh, jika anda mempunyai tatasusunan $data = ['first' => 'John', 'terakhir' => 'Smith'], anda boleh menetapkan CURLOPT_POSTFIELDS seperti berikut:

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

cURL akan secara automatik menjana pengekodan data borang berbilang bahagian yang diperlukan.

Fungsi Pembantu:

Anda boleh memudahkan proses membina rentetan pertanyaan untuk data tatasusunan menggunakan Fungsi http_build_query():

$query = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);

Atas ialah kandungan terperinci Bagaimanakah CURLOPT_POSTFIELDS Mengendalikan Data Rentetan dan Tatasusunan dalam Permintaan CURL POST?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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