note 71114 added to function.get-headers

From: Date: Mon, 13 Nov 2006 08:29:22 +0000
Subject: note 71114 added to function.get-headers
Groups: php.notes 
Request: Send a blank email to php-notes+get-119648@lists.php.net to get a copy of this message
I've noticed it. Some Server will simply return the false reply header if you sent 'HEAD' request instead of 'GET'. The 'GET' request header always receiving the most actual HTTP header instead of 'HEAD' request header. But If you don't mind for a fast but risky method then 'HEAD' request is better for you. btw ... this is get header with additional information such as User, Pass & Refferer. ... <?php function get_headers_x($url,$format=0, $user='', $pass='', $referer='') { if (!empty($user)) { $authentification = base64_encode($user.':'.$pass); $authline = "Authorization: Basic $authentification\r\n"; } if (!empty($referer)) { $refererline = "Referer: $referer\r\n"; } $url_info=parse_url($url); $port = isset($url_info['port']) ? $url_info['port'] : 80; $fp=fsockopen($url_info['host'], $port, $errno, $errstr, 30); if($fp) { $head = "GET ".@$url_info['path']."?".@$url_info['query']." HTTP/1.0\r\n"; if (!empty($url_info['port'])) { $head .= "Host: ".@$url_info['host'].":".$url_info['port']."\r\n"; } else { $head .= "Host: ".@$url_info['host']."\r\n"; } $head .= "Connection: Close\r\n"; $head .= "Accept: */*\r\n"; $head .= $refererline; $head .= $authline; $head .= "\r\n"; fputs($fp, $head); while(!feof($fp) or ($eoheader==true)) { if($header=fgets($fp, 1024)) { if ($header == "\r\n") { $eoheader = true; break; } else { $header = trim($header); } if($format == 1) { $key = array_shift(explode(':',$header)); if($key == $header) { $headers[] = $header; } else { $headers[$key]=substr($header,strlen($key)+2); } unset($key); } else { $headers[] = $header; } } } return $headers; } else { return false; } } ?> Regards. Donovan ---- Server IP: 202.67.10.139 Probable Submitter: 125.160.35.23 ---- Manual Page -- http://www.php.net/manual/en/function.get-headers.php Edit -- https://master.php.net/note/edit/71114 Del: integrated -- https://master.php.net/note/delete/71114/integrated Del: useless -- https://master.php.net/note/delete/71114/useless Del: bad code -- https://master.php.net/note/delete/71114/bad+code Del: spam -- https://master.php.net/note/delete/71114/spam Del: non-english -- https://master.php.net/note/delete/71114/non-english Del: in docs -- https://master.php.net/note/delete/71114/in+docs Del: other reasons-- https://master.php.net/note/delete/71114 Reject -- https://master.php.net/note/reject/71114 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#119648) next »