Фев
20
2013
20
2013
PHP /
Получение HTTP-заголовков с сервера на PHP
Сегодня понадобилось сделать ревизию серверов с описанием, операционных систем и системных служб. Тут то мне и пригодились http заголовки.
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" > <h2>Получение HTTP-заголовков с сервера</h2> <label >Адрес сервера http://</label> <input type="text" name="address" value="" size="36" /> <input class="button default" type="submit" name="submit" value="Получить"><br> </form> <?php if(isset($_POST['submit'])) { error_reporting(0); $address = $_POST['address']; function get_content($hostname, $path) { $line=""; $fd=fsockopen($hostname, 80, $errno, $errstr, 30); if(!$fd) echo "<br><h4>Невозможно получить заголовок</h4>"; else { $headers="GET $path HTTP/1.1\r\n"; $headers.="Host: $hostname\r\n"; $headers.="Connection: Close\r\n\r\n"; fwrite ($fd, $headers); $end=false; while (!$end) { $line=fgets($fd, 1024); if(trim($line)=="") $end=true; else $out[]=$line; } fclose($fd); } return $out; } $hostname=$address; $path="/"; set_time_limit(180); $out=get_content($hostname, $path); foreach ($out as $d) { echo $d."<br>\n";} } ?> </div>