PDA

Просмотр полной версии : Определить размер страницы, не загружая ее


[Raz0r]
22.06.2008, 19:36
Каким HTTP запросом можно определить размер страницы, не загружая ее? Т.е. мне нужно получить content-length без содержимого самой страницы. Пробовал HEAD, но он content-length не возвращает.

NOmeR1
22.06.2008, 20:47
Возможно так:
<?php
$http = http_parse_message(http_get('http://ya.ru/'));
echo $http->headers['Content-Length'];
?>
но у меня эти функции не работают, точно сказать не могу.

etc
22.06.2008, 20:49
http://www.php.net/manual/ru/function.http-parse-message.php точнее только в мануале

Dr.Frank
22.06.2008, 21:23
можно попробывать загружать страницу(вернее данные заголовка), но не полностью, к примеру так:

<?php
$host="ya.ru";
$refer="http://ya.ru/";
$zap="http://ya.ru/";
$get="GET $zap HTTP/1.1\r\nHost: $host\r\nReferer: $refer\r\nAccept-language: en\r\nUser-Agent: Mozilla 4.0\r\nConnection: close\r\n\r\n";
$fp=fsockopen($host,80);
fwrite($fp,$get);
$ss="";
while($tt=fread($fp,128)){
$ss.=$tt;
if(strstr($ss,"Content-Length")){
$ss=strstr($ss,"Content-Length");
$num=strpos($ss,"\r\n");
$ss=substr($ss,0,$num);
echo $ss;
break;
}
}
fclose($fp);

?>

НTL
22.06.2008, 21:26
http://2ip.ru/

[Raz0r]
23.06.2008, 17:52
Спасибо за предложенные варианты =)