getallheaders() retourne les entêtes envoyées par le navigateur pour la requête en cours. (PHP 3 et +)
get_headers() renvoie les headers envoyés par un serveur (php 5 seulement)
Petite fonction pour remplacer get_header() en PHP4:
1 2 3 4 5 6 7 8 9 10 11
| function curlGetHeader ($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$page = curl_exec($ch);
curl_close($ch);
$header = substr($page, 0, strpos($page, "\r\n\r\n"));
return $header;
}
echo '<pre>', curlGetHeader('http://www.developpez.net'); |
Si tu n'as pas accès à l'excellente librairie CURL utilisée dans la fonction plus haut, tu peux utiliser les fonctions socket de PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| function socketGetHeaders($url){
$url = parse_url($url);
$url['port'] = isset($url['port']) ? $url['port'] : '80';
$url['path'] = isset($url['path']) ? $url['path'] : '/';
$fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 10);
if (!$fp) {
echo "Erreur de socket: $errno - $errstr<br />\n";
return FALSE;
} else {
$header = "GET ".$url['path']." HTTP /1.1\r\n";
$header .= "Connection: Close\r\n\r\n";
fputs($fp, $header);
}
fputs($fp, $header);
$page = '';
while (!feof($fp)){
$page.= fgets($fp, 1280);
if(strpos($page, "\r\n\r\n")) break;
}
fclose($fp);
return $page;
} |
Enfin, si tu veux faire court et que ton serveur de dvp est sous Linux, tu peux utiliser cette commande shell:
curl -IL http://www.developpez.net
Ou bien:
wget -S http://www.developpez.net
Partager