Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengeluarkan Kedua-dua Pengepala dan Badan daripada Permintaan cURL dalam PHP?

Bagaimanakah Saya Boleh Mengeluarkan Kedua-dua Pengepala dan Badan daripada Permintaan cURL dalam PHP?

DDD
Lepaskan: 2024-12-20 01:07:17
asal
439 orang telah melayarinya

How Can I Extract Both Headers and Body from a cURL Request in PHP?

Mengekstrak Pengepala dan Badan daripada Permintaan cURL dalam PHP

Pustaka cURL PHP menyediakan cara yang mudah untuk menghantar permintaan HTTP. Secara lalai, cURL hanya mengambil badan tindak balas. Walau bagaimanapun, anda mungkin menghadapi situasi di mana anda perlu mengakses kedua-dua pengepala dan kandungan dalam satu permintaan, tanpa mengeluarkan permintaan HEAD yang berasingan.

Penyelesaian: Mengasingkan Pengepala dan Badan

Untuk mendapatkan kedua-dua pengepala dan kandungan dalam satu permintaan kusut, anda boleh menggunakan perkara berikut langkah:

  1. Laksanakan permintaan cURL dengan curl_exec() dengan pilihan berikut:

    • CURLOPT_RETURNTRANSFER: Tetapkan kepada 1 untuk mengembalikan respons sebagai rentetan.
    • CURLOPT_HEADER: Tetapkan kepada 1 untuk memasukkan pengepala respons dalam output.
  2. Selepas melaksanakan permintaan, dapatkan respons menggunakan $response.
  3. Kira saiz pengepala HTTP menggunakan curl_getinfo($ch, CURLINFO_HEADER_SIZE) dan simpannya dalam $header_size.
  4. Keluarkan pengepala daripada $response dengan mengambil subrentetan sehingga $header_size. Simpan pengepala dalam $header.
  5. Ekstrak kandungan daripada $response dengan mengambil subrentetan daripada $header_size ke hujung rentetan. Simpan badan dalam $body.

Contoh Kod:

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

$response = curl_exec($ch);

$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
Salin selepas log masuk

Nota: Harap maklum bahawa kaedah ini mungkin tidak boleh dipercayai dalam semua kes, terutamanya apabila berurusan dengan pelayan proksi atau jenis ubah hala tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Kedua-dua Pengepala dan Badan daripada Permintaan cURL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan