首页 >后端开发 >php教程 >如何有效分离 PHP cURL 请求中的标头和正文?

如何有效分离 PHP cURL 请求中的标头和正文?

Susan Sarandon
Susan Sarandon原创
2024-12-31 06:39:11241浏览

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

在 PHP cURL 请求中检索标头和正文

使用 PHP 发出 cURL 请求时,检索响应标头和正文可以是挑战。 CURLOPT_HEADER 选项在返回正文和标头时,需要手动解析以提取正文。要获得更高效、更安全的解决方案,请考虑以下方法:

解决方案:

根据 PHP 文档的建议,结合使用 CURLOPT_RETURNTRANSFER 和检索标头大小来自 CURLINFO_HEADER_SIZE 允许标头和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);

警告:

虽然此解决方案通常可靠,但在使用代理服务器或处理某些类型的重定向时,它可能无法一致地工作。在这种情况下,替代方法(例如原始问题中提到的方法)可能会提供更可靠的结果。

以上是如何有效分离 PHP cURL 请求中的标头和正文?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn