curl和ping - 如何检查网站是向上还是向下?
2022-08-30 14:44:30
我想使用PHP检查网站在特定实例上是打开还是关闭。我开始知道curl会获取文件的内容,但我不想阅读网站的内容。我只想检查网站的状态。有没有办法检查网站的状态?我们可以使用ping来检查状态吗?对我来说,从服务器获取状态信号(如(404,403等)就足够了。一小段代码可能会对我帮助很大。
我想使用PHP检查网站在特定实例上是打开还是关闭。我开始知道curl会获取文件的内容,但我不想阅读网站的内容。我只想检查网站的状态。有没有办法检查网站的状态?我们可以使用ping来检查状态吗?对我来说,从服务器获取状态信号(如(404,403等)就足够了。一小段代码可能会对我帮助很大。
像这样的东西应该工作
$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
}
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