Checking if a website is up?

From: Date: Tue, 30 Mar 2004 10:19:38 +0000
Subject: Checking if a website is up?
Groups: php.general 
Request: Send a blank email to php-general+get-181795@lists.php.net to get a copy of this message
Hi All, I am trying to check if a website is up (reachable) and I have used the standard code below: Unfortunately this works for most sites but Microsoft doesn't work most of the time even thought the site is definiately up! (Occassionally it does say it is reachable but only occassionaly and thats whats even more confusing). Suggestions? Henry I tried URL's as follows: http://www.microsoft.com/ http://www.microsoft.com function url_reachable( $link ) { $url_parts = @parse_url( $link ); if ( $url_parts["scheme"]!="http" ) return ( false ); if ( empty( $url_parts["host"] ) ) return( false ); if ( !empty( $url_parts["path"] ) ) { $documentpath = $url_parts["path"]; } else { $documentpath = "/"; } if ( !empty( $url_parts["query"] ) ) { $documentpath .= "?" . $url_parts["query"]; } $host = $url_parts["host"]; $port = $url_parts["port"]; // Now (HTTP-)GET $documentpath at $host"; if (empty( $port ) ) $port = "80"; $socket = @fsockopen( $host, $port, $errno, $errstr, 30 ); if (!$socket) { return(false); } else { fwrite ($socket, "HEAD ".$documentpath." HTTP/1.0\r\nHost: $host\r\n\r\n"); $http_response = fgets( $socket, 22 ); if ( ereg("200 OK", $http_response, $regs ) ) { return(true); fclose( $socket ); } else { // echo "HTTP-Response: $http_response<br>"; return(false); } } }

« previous php.general (#181795) next »