在 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中文网其他相关文章!