php - HTTP 响应代码 0 - 网站正在运行

标签 php html httpresponse

我正在制作一个网站,用于检查网站是否正常运行。我传入要检查的网站的 URL,以下代码将检查该网站是否有效并返回 HTTP 响应代码以及 true 或 false。

function urlExists($url=NULL)
{
    if($url == NULL) return false;
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($httpcode == 0) {
        return array (false, $httpcode);
    }
    else if($httpcode < 400){
        return array (true, $httpcode);
    } else {
        return array (false, $httpcode);
    }
}

虽然我知道我正在测试的其中一个站点是实时运行的,但我得到的 HTTP 响应代码为 0。

该网站非常慢,因为它是一个大型网站,服务器不是很强大,因此响应时间可能在 7 到 25 秒之间变化。

如有任何帮助,我们将不胜感激。

谢谢,

山姆

最佳答案

基于这两个链接:-

https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html

https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html

第一个是:- 设置允许请求花费的最长时间

第二个是:- 连接阶段超时

正如您所说,您点击的 Site URL 需要 7-25 秒的响应时间。同时,由于这两个时间设置,您的CURL 请求 被终止并关闭。

在您的代码中增加这两个时间设置,它会为您工作。

谢谢。

关于php - HTTP 响应代码 0 - 网站正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37880071/

相关文章:

php - Yii2 ActiveFormencodeErrorSummary 属性...它的用途是什么?

php - 通过 getJSON 检索的图像的 <div> 在append()之后消失

html - 为什么 Twitter Bootstrap 添加::之前和::之后?

json - Protractor :HTTP 响应测试

使用 httplib 发送 Python HTTPConnection 文件,检索进度

php - 将数组的所有索引放在逗号分隔的字符串中

php - 如何在 MySQL 中按喜欢/不喜欢对评论进行排序

javascript - 使用 Javascript 将文本(从 Google 可视化查询)发送到点击时的输入字段

php - 连接 html、javascript、php 和 mysql

c# - 在 C# 中解析原始 HTTP 响应以获取状态代码