curl和ping - 如何检查网站是向上还是向下?

2022-08-30 14:44:30

我想使用PHP检查网站在特定实例上是打开还是关闭。我开始知道curl会获取文件的内容,但我不想阅读网站的内容。我只想检查网站的状态。有没有办法检查网站的状态?我们可以使用ping来检查状态吗?对我来说,从服务器获取状态信号(如(404,403等)就足够了。一小段代码可能会对我帮助很大。


答案 1

像这样的东西应该工作

    $url = 'yoururl';
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_exec($ch);
    $retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if (200==$retcode) {
        // All's well
    } else {
        // not so much
    }

答案 2
curl -Is $url | grep HTTP | cut -d ' ' -f2

curl -Is $url仅输出标头。

grep HTTP筛选到 HTTP 响应标头。

cut -d ' ' -f2将输出修剪为第二个“单词”,在本例中为状态代码。

例:

$ curl -Is google.com | grep HTTP | cut -d ' ' -f2
301

推荐