Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengasingkan Pengepala dan Badan dengan Cekap dalam Permintaan cURL PHP?

Bagaimanakah Saya Boleh Mengasingkan Pengepala dan Badan dengan Cekap dalam Permintaan cURL PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-31 06:39:11309semak imbas

How Can I Efficiently Separate Headers and Body in PHP cURL Requests?

Mendapatkan Kedua-dua Pengepala dan Badan dalam Permintaan cURL PHP

Apabila membuat permintaan cURL menggunakan PHP, mendapatkan kedua-dua pengepala respons dan badan boleh menjadi cabaran. Pilihan CURLOPT_HEADER, sambil mengembalikan badan bersama-sama dengan pengepala, memerlukan penghuraian manual untuk mengekstrak badan. Untuk penyelesaian yang lebih cekap dan selamat, pertimbangkan pendekatan berikut:

Penyelesaian:

Seperti yang dicadangkan oleh dokumentasi PHP, menggunakan gabungan CURLOPT_RETURNTRANSFER dan mendapatkan semula saiz pengepala daripada CURLINFO_HEADER_SIZE membenarkan pengasingan pengepala dan body:

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

// Execute the request
$response = curl_exec($ch);

// Extract header size
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);

// Separate headers and body
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);

Awas:

Walaupun penyelesaian ini umumnya boleh dipercayai, penyelesaian ini mungkin tidak berfungsi secara konsisten apabila menggunakan pelayan proksi atau mengendalikan jenis ubah hala tertentu. Dalam kes sedemikian, pendekatan alternatif, seperti yang dinyatakan dalam soalan asal, mungkin memberikan hasil yang lebih dipercayai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengasingkan Pengepala dan Badan dengan Cekap dalam Permintaan cURL PHP?. 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