PHP http_get_last_response_headers 函数
最后修改于 2025 年 4 月 4 日
PHP http_get_last_response_headers
函数检索最后一次请求的 HTTP 响应头。它对于调试和处理 Web 响应非常有用。
基本定义
http_get_last_response_headers
返回最近一次 HTTP 请求的响应头数组。适用于 HTTP 扩展函数。
语法:http_get_last_response_headers(): array|null
。如果未进行请求,则返回头信息的关联数组或 null。需要 pecl_http 扩展。
基本头信息检索
此示例展示了如何获取和显示简单 HTTP 请求的所有响应头。
<?php declare(strict_types=1); http_get("https://example.com"); $headers = http_get_last_response_headers(); print_r($headers);
此示例向 example.com 发送 GET 请求,然后检索所有响应头。头信息以数组格式打印,显示键和值。
检查特定头信息
此示例演示如何检查响应中的特定头信息(Content-Type)。
<?php declare(strict_types=1); http_get("https://example.com"); $headers = http_get_last_response_headers(); if (isset($headers['Content-Type'])) { echo "Content-Type: " . $headers['Content-Type']; } else { echo "Content-Type header not found"; }
此示例检查响应中是否存在 Content-Type 头信息。Content-Type 指示返回资源的媒体类型。
处理所有头信息
此示例在 foreach 循环中处理响应的所有头信息。
<?php declare(strict_types=1); http_get("https://example.com"); $headers = http_get_last_response_headers(); foreach ($headers as $name => $value) { echo "$name: $value\n"; }
此示例遍历所有响应头,显示每个名称-值对。这对于调试或记录完整的头信息很有用。
检查响应状态
此示例展示了如何从响应头中验证 HTTP 状态码。
<?php declare(strict_types=1); http_get("https://example.com"); $headers = http_get_last_response_headers(); if (isset($headers['Status'])) { echo "Response status: " . $headers['Status']; } else { echo "Status header not found"; }
Status 头信息包含 HTTP 响应状态码。这有助于确定请求是否成功或遇到了错误。
头信息大小写敏感性
此示例演示了 PHP 中头信息的名称大小写敏感性。
<?php declare(strict_types=1); http_get("https://example.com"); $headers = http_get_last_response_headers(); $contentType1 = $headers['Content-Type'] ?? 'Not found'; $contentType2 = $headers['content-type'] ?? 'Not found'; echo "Content-Type: $contentType1\n"; echo "content-type: $contentType2\n";
HTTP 中的头信息名称不区分大小写,但 PHP 会保留原始的大小写。此示例展示了在检查头信息时如何处理这两种情况。
最佳实践
- 错误处理: 在访问头信息之前,始终检查其是否存在
- 性能: 仅在需要头信息时才发起请求
- 安全: 在处理之前,请对头信息的值进行清理
- 兼容性: 验证 pecl_http 扩展是否已安装
来源
PHP http_get_last_response_headers 文档
本教程通过实际示例介绍了 PHP http_get_last_response_headers
函数在 PHP 中处理 HTTP 头信息。
作者
列出 所有 PHP 网络函数。