2012-07-14 63 views
1

我希望我的网站用户检查是否有其他网站(http和/或https)已启动。有些网站使用谷歌分析(如果我理解的话)。但我不明白他们是怎么做到的。如何检查从PHP/HTML网站是否启动?

问题1)如何在我的网站上使用google-analytics来检查是否有其他网站已启动?

问题2)我该怎么做?使用PHP或JavaScript?我想知道,如果谷歌分析可能更可靠的话,如果他们使用多个服务器位置来检查网站是否在线比较,我将与我自己的代码使用一个单一的位置。

回答

3

您可以使用服务器端Curl并监控http响应标头,网站超时。

0

您可以ping服务器并监视响应。此链接显示了PHP中的实现:http://www.darian-brown.com/php-ping-script-to-check-remote-server-or-website/

+0

Ping不可靠。它可能被禁用来回答ping请求,因此即使ping超时或被拒绝,站点也可能会启动。 – Radek 2012-07-14 10:27:09

+0

我认为你拥有你想要检查的所有网站的问题,因此如果需要ping将启用它们。 – 2012-07-14 11:07:11

+2

ping响应并不意味着Web服务器已启动并且功能正常。 – worenga 2012-07-14 11:44:25

1

可以尝试直接连接到服务器的http端口。

$canConnect = FALSE; 
    $host = 'www.example.com'; 
    $service_port = 80; // http, for https use 443; 
    $address = gethostbyname ($host); 
    $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); 
    if ($socket !== FALSE) { 
     $result = socket_connect ($socket, $address, $service_port); 
     if ($result) { 
      $canConnect = TRUE; 
     } 
     socket_close($socket); 
    }