获取标头响应代码

Bat*_*fan 8 php http

这是我整理的PHP脚本的一部分.基本上,域($ domain1)在表单中定义,并根据服务器的响应代码显示不同的消息.但是,我遇到了让它运转的问题.3位数的响应代码是我感兴趣的.

这是我到目前为止:

function get_http_response_code($domain1) {
    $headers = get_headers($domain1);
    return substr($headers[0], 9, 3);
    foreach ($get_http_response_code as $gethead) { 
        if ($gethead == 200) {
            echo "OKAY!";
        } else {
            echo "Nokay!";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mch*_*chl 22

$domain1 = 'http://google.com';

function get_http_response_code($domain1) {
  $headers = get_headers($domain1);
  return substr($headers[0], 9, 3);
}

$get_http_response_code = get_http_response_code($domain1);

if ( $get_http_response_code == 200 ) {
  echo "OKAY!";
} else {
  echo "Nokay!";
}
Run Code Online (Sandbox Code Playgroud)

  • 适用于大多数情况,但是如果网站发送重定向,则该重定向代码是第一个,即“$headers[0] = 301;$headers[5] = 404”,这可能意味着它工作或不工作。 (2认同)

And*_* SK 5

如果你有PHP 5.4.0+,你可以使用http_response_code ()函数.例:

var_dump(http_response_code()); // int(200)
Run Code Online (Sandbox Code Playgroud)

  • @andufo这不适用于OP要求的内容.这只会影响将返回浏览器的代码的响应代码.OP希望完全从另一个网站获取标题,因此您的答案完全错误. (5认同)
  • 哦,我正在寻找一个http响应代码相关的解决方案,并打开了这个线程.我发布了这个以防万一有人到达这里.最好的祝福! (3认同)
  • `http_response_code()`用于设置传出代码(例如,到浏览器),而不是检查传入的代码(来自服务器),这是OP想要做的. (2认同)