Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mendapatkan Kedua-dua Pengepala dan Badan dengan Cekap daripada Respons PHP cURL?

Bagaimana untuk Mendapatkan Kedua-dua Pengepala dan Badan dengan Cekap daripada Respons PHP cURL?

DDD
DDDasal
2024-12-29 05:51:08821semak imbas

How to Efficiently Retrieve Both Headers and Body from a PHP cURL Response?

Mendapatkan Pengepala Respons dan Badan dalam PHP cURL

Semasa menggunakan PHP cURL, adalah mungkin untuk mendapatkan kedua-dua pengepala respons dan badan dalam permintaan tunggal. Satu pendekatan biasa melibatkan penetapan CURLOPT_HEADER kepada benar, yang mengembalikan badan bersama-sama dengan pengepala. Walau bagaimanapun, menghuraikan tindak balas gabungan ini untuk mengekstrak badan memerlukan pemprosesan tambahan.

Kaedah alternatif yang dicadangkan oleh ulasan dokumentasi PHP menawarkan pendekatan yang lebih berstruktur:

Kod:

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
// ...

$response = curl_exec($ch);

// Get header and body after execution:
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);

Pendekatan ini menyediakan akses yang lebih bersih kepada pengepala dan komponen badan respons.

Awas:

Adalah penting untuk ambil perhatian bahawa kaedah ini mungkin tidak boleh dipercayai dalam semua senario, terutamanya apabila menggunakan pelayan proksi atau mengendalikan jenis ubah hala tertentu. Untuk kebolehpercayaan yang dipertingkatkan, pertimbangkan penyelesaian alternatif @Geoffrey yang disediakan dalam bahagian komen, yang menangani kes kelebihan ini.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kedua-dua Pengepala dan Badan dengan Cekap daripada Respons 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