Mendapatkan Pengepala Respons dan Badan dalam PHP cURL
Pustaka cURL PHP menyediakan cara yang berkuasa untuk menghantar permintaan HTTP. Walau bagaimanapun, apabila menggunakan curl_exec(), tingkah laku lalai adalah untuk mengembalikan badan tindak balas sahaja. Untuk mendapatkan kedua-dua pengepala dan badan dalam satu permintaan, pertimbangkan penyelesaian berikut yang dibentangkan dalam dokumentasi PHP:
// Initialize cURL and set necessary options $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Enable return of response curl_setopt($ch, CURLOPT_HEADER, 1); // Include headers in response // Execute the request $response = curl_exec($ch); // Extract header and body information $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $body = substr($response, $header_size);
Dalam pendekatan ini, curl_exec() mengembalikan rentetan yang mengandungi kedua-dua pengepala dan badan. Kami kemudiannya menggunakan curl_getinfo() untuk mendapatkan saiz pengepala dan membahagikan respons dengan sewajarnya.
Walaupun penyelesaian ini secara amnya berkesan, adalah penting untuk ambil perhatian bahawa ia mungkin tidak boleh dipercayai apabila menggunakan pelayan proksi atau mengendalikan ubah hala. Oleh itu, adalah dinasihatkan untuk meneroka pilihan lain, seperti pendekatan yang dicadangkan oleh @Geoffrey dalam ulasan soalan, untuk memastikan pengepalaan dan pengambilan badan yang boleh dipercayai dalam semua senario.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Kedua-dua Pengepala dan Badan Respons HTTP menggunakan PHP cURL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!