1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| function checkurl($url){
// vérification du protocole HTTP
if (!eregi("^http://", $url)) {
return FALSE;
}
$details = parse_url($url);
// vérification du port 80 lié au protocole HTTP
if (!isset($details['port'])) {
$details['port'] = "80";
}
// vérification du chemin
if (!isset($details['path'])) {
$details['path'] = "/";
}
// vérification de l'adresse du serveur
if (!ereg("[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+", $details['host'])){
$details['host'] = gethostbyname($details['host']);
}
// ouverture d'une connexion vers le serveur
if ($sock = fsockopen( $details['host'], $details['port'], &$numero_erreur, &$texte_erreur)){
$requete = "GET ".$details['path']." HTTP/1.1\r\n";
$requete .= "Host: ".$details['host']."\r\n\r\n";
// envoie d'une requête HTTP GET
fputs($sock, $requete);
// réception de la réponse du serveur
$str = fgets($sock, 1024);
while(!ereg('^HTTP/1.1 ', $str)){
$str = fgets($sock, 1024);
}
// fermeture de la connexion
fclose($sock);
list($http, $str, $texte) = explode(" ", $str, 3);
return array($str, $reponse[$str]);
}
return FALSE;
} |
Partager