note 71114 added to function.get-headers
| From: | php-general at lists dot php dot net | 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