<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Просмотр HTTP-заголовков интересующих Интернет-ресурсов</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta http-equiv="content-language" content="ru">
</head>

    <style>
        *      {  font-family: Arial, Helvetica, sans-serif; font-size: 12px; }
        .input { width: 380px; background: #EFEFEF; }
    </style>
<?php
    
if (isset($_POST['action'])) $action $_POST['action'];
    if (isset(
$_POST['body_get'])) $body_get $_POST['body_get'];
    if (isset(
$_POST['uri'])) $uri $_POST['uri'];
    if (isset(
$_POST['user_agent'])) $user_agent $_POST['user_agent'];
    if (!isset(
$uri)) $uri 'http://yandex.ru';
    if (!isset(
$user_agent)) $user_agent 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';

    
$user_agent_array = array ("none""User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
    
"User-Agent: Yandex/1.03.000 (compatible; Win16; I)",
    
"User-Agent: Googlebot/2.1 (+http://www.googlebot.com/bot.html)",
    
"User-Agent: StackRambler/2.0""User-Agent: Aport");

?>
<body>
<b>Просмотр HTTP-заголовков, Сделал <A HREF="http://blog.jawsik.com">Охотник на зелёных</A></b><br /><br />
  <form action="index.php" method="post">
    Введите URI интересующего Интернет-ресурса:<br>
    <input class="input" type="text" name="uri" value="<? echo $uri?>">
     <br />
     <br />
     <INPUT TYPE="hidden" NAME="action" value="go">
     Получить тело страницы <INPUT TYPE="checkbox" NAME="body_get">
      <br />
     <br />
    Выберите User-Agent:<br>
    <select class="input" name="user_agent" selected="<?php echo $user_agent?>">
<?php
    
foreach ($user_agent_array as $tmp)
        {
            
$option '<option value="'.$tmp.'" ';
            if (
$tmp == $user_agent$option .= "selected";
            
$option .= '>'.$tmp.'</option>\n';
            echo 
$option;
        }
?>
    </select>
       <br />
     <br />
    <input class="input" type="submit" name="sbmt" value="Просмотреть HTTP-заголовок">
    <br />
    <br />
  </form>

  <?php
     
if ($action == "go")
    {
        
// Указываем номер порта соединения
        
$httpport 80;

        
// Выделяем из URI домен и страницу:
        //   $res[2] имя домена
        //   $res[3] страница со всеми запросами

        
preg_match("/(http:\/\/)?([^\/]*)\/?(.*)?/i"$uri$res);

        
// Открывает сокет соединения указанного домена/страницы
        
$fp = @fsockopen($res[2], $httpport);

        
// ошибка если нет ответа или долго
        
if ($fp) {
                
// Формируем запрос используем HEAD или GET
                
if (isset($body_get)) $query "GET";
                    else 
$query "HEAD";

                  
$query .= " /"$res[3] ." HTTP/1.1\r\nHOST: ".$res[2]."\r\n";

                  if (
$user_agent != "none"$query .= $user_agent."\r\n";

                  
$query .= "Connection: close\r\n\r\n";

                  
// Отображаем текст запроса
                  
echo "<b>Посылаем запрос</b><br />";
                  echo 
nl2br(htmlspecialchars($query))."<br>";

                  
// Отправляем домену запрос
                  
fputs($fp$query);

                  echo 
"<b>Получаем ответ</b><br />";
                  while (!
feof($fp))
                  {
                    
// Получаем ответ от домена (по одной строке)
                    
$s fgets($fp);
                    
// Выводим ответ домена (также по одной строке)
                    
echo nl2br(htmlspecialchars($s));
                  }
                  
fclose($fp);
          }
          else { echo 
'<font color="#FF0000">Невозможно установить соединение!</font> <br />'.$user_agent; }

    }
?>
</body>

</html>