Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Dapatkan Kedua-dua Pengepala dan Badan Respons HTTP menggunakan PHP cURL?

Bagaimanakah Saya Boleh Dapatkan Kedua-dua Pengepala dan Badan Respons HTTP menggunakan PHP cURL?

DDD
DDDasal
2024-12-28 08:26:09827semak imbas

How Can I Retrieve Both the HTTP Response Headers and Body using PHP cURL?

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!

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