不使用cURL如何在PHP中获取HTTP头响应代码

6

我编写了一个检测cURL是否可用的类,如果可用,则使用cURL执行GET、POST和DELETE操作。在使用cURL版本时,我使用curl_getinfo($curl, CURLINFO_HTTP_CODE);来获取HTTP代码。如果cURL不可用,则使用fopen()读取文件内容。那么,如果没有cURL,如何获取HTTP标头代码呢?


如果您直接阅读HTTP响应流,则必须解析标题和响应代码。这不是什么大问题,您应该能够通过快速搜索找到示例代码。 - Murray McDonald
我在这个答案中发布了一些示例代码。如何在PHP中使用无curl函数进行HTTP的更通用描述可在此答案中概述。 - hakre
2个回答

15
使用 get_headers
<?php
$url = "http://www.example.com/";

$headers = get_headers($url);

$code = $headers[0];
?>

编辑: get_headers 需要额外的调用,并且不适用于此场景。使用 hakre建议的 $http_response_headers


1
这将自动运行一个请求。 - hakre
啊,你说得对。在这种情况下,我的答案可能不是最佳选择。 - Matt Beckman
2
从技术上讲,这并不是错误的,因为TS没有发布太多的代码,所以实际上不清楚她/他想知道什么 ;) - hakre

8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接