Я написал класс, который определяет, доступен ли cURL, если он выполняет GET, POST, DELETE, используя cURL. В версии cURL я использую curl_getinfo($curl, CURLINFO_HTTP_CODE);
для получения кода HTTP. Если cURL недоступен, он использует fopen () для чтения содержимого файла. Как получить код заголовка HTTP без cURL?
Всякий раз, когда вы выполняете какое-либо взаимодействие с HTTP, специальная переменная $http_response_header
в той же области видимости будет содержать все заголовки (включая заголовок строки состояния), которые приведены в результате последнего взаимодействия HTTP.
См. Здесь пример, как разобрать его и получить код состояния .
Использовать get_headers :
<?php $url = "http://www.example.com/"; $headers = get_headers($url); $code = $headers[0]; ?>
Изменить: get_headers
требует дополнительного вызова и не подходит для этого сценария. Используйте $http_response_headers
как было предложено hakre .