如何在PHP中分析标题

如何在PHP中分析标题,php,api,curl,header,Php,Api,Curl,Header,我正在使用一个file\u get\u contents与一个api进行交互,以实现简单的get请求。。。但有时它会抛出标题,表示出现了错误。如何获取这些标题并确定是否有问题?使用curl而不是file\u get\u内容 见: 我想象如果您与RESTAPI通信,那么您实际上希望返回Http状态代码。在这种情况下,您可以这样做: <?php $ch = curl_init("http://www.example.com/api/users/1"); curl_setopt($ch, CUR

我正在使用一个file\u get\u contents与一个api进行交互,以实现简单的get请求。。。但有时它会抛出标题,表示出现了错误。如何获取这些标题并确定是否有问题?

使用curl而不是file\u get\u内容

见:

我想象如果您与RESTAPI通信,那么您实际上希望返回Http状态代码。在这种情况下,您可以这样做:

<?php
$ch = curl_init("http://www.example.com/api/users/1");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == 501) {
    echo 'Ops it not implemented';
}
fclose($fp);
?>

使用curl而不是file\u get\u内容

见:

我想象如果您与RESTAPI通信,那么您实际上希望返回Http状态代码。在这种情况下,您可以这样做:

<?php
$ch = curl_init("http://www.example.com/api/users/1");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == 501) {
    echo 'Ops it not implemented';
}
fclose($fp);
?>

Php将在包含响应头的file\u get\u内容之后设置$http\u response\u header作为头行/字符串数组。如果您只需要标题响应,而可能不需要,则不必使用curl,因为有些灯组仍然没有curl

$http\u响应\u标题上的文档:

例如: 评论中的帖子提示:

1该值随每个请求而变化 制造

2在方法/函数中使用时 当前值必须传递给 方法/功能。使用 $http\u response\u头直接位于 未分配的方法/功能 函数/方法参数的值 将导致错误消息: 注意:未定义变量: http_响应_头

3数组长度和值 阵列中的位置可能会更改 取决于所查询的服务器 以及收到的答复。我不是 确定是否存在任何“绝对”值 阵列中的位置

4$http\u响应\u头仅获取 使用文件\u获取\u内容填充 使用URL而不是本地文件时。 这在描述中说明,当 它提到了HTTP_包装器


Php将在包含响应头的file\u get\u内容之后设置$http\u response\u header作为头行/字符串数组。如果您只需要标题响应,而可能不需要,则不必使用curl,因为有些灯组仍然没有curl

$http\u响应\u标题上的文档:

例如: 评论中的帖子提示:

1该值随每个请求而变化 制造

2在方法/函数中使用时 当前值必须传递给 方法/功能。使用 $http\u response\u头直接位于 未分配的方法/功能 函数/方法参数的值 将导致错误消息: 注意:未定义变量: http_响应_头

3数组长度和值 阵列中的位置可能会更改 取决于所查询的服务器 以及收到的答复。我不是 确定是否存在任何“绝对”值 阵列中的位置

4$http\u响应\u头仅获取 使用文件\u获取\u内容填充 使用URL而不是本地文件时。 这在描述中说明,当 它提到了HTTP_包装器


+1.此外,文件内容并不总是与web url一起工作,具体取决于服务器配置。+1。此外,文件\u get\u内容并不总是与web url一起工作,这取决于服务器配置。这确实帮助我理解了$http\u response\u头-这确实帮助我理解了$http\u response\u头-
file_get_contents('http://example.com');
var_dump($http_response_header);