Ping站点并以PHP返回结果

新手上路,请多包涵

我想创建一个小的 IF 过程来检查 Twitter 是否可用(例如,不像现在),并将返回 true 或 false。

帮助 :)

原文由 Tomer Lichtash 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 293
2 个回答
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);

    return $httpcode >= 200 && $httpcode < 300;
}

这是从 这篇关于如何检查 URL 是否存在的帖子 中获取的。因为 Twitter 在维护时应该提供高于 300 的错误消息,或者是 404,所以这应该可以正常工作。

原文由 Tyler Carter 发布,翻译遵循 CC BY-SA 4.0 许可协议

另一个解决方案:

使用 get_headers 并比较http代码。

 function ping(string $url): bool
{
   $headers = get_headers($url);
   $httpCode = intval(substr($headers[0], 9, 3));

   return $httpCode >= 200 && $httpCode < 300;
}

原文由 42abc 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏