PHPverse 2025

Voting

: six plus three?
(Example: nine)

The Note You're Voting On

Anonymous
18 years ago
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

<< Back to user notes page

To Top