Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблемы с HTTP-заголовками
 
 автор: magic   (10.08.2011 в 10:41)   письмо автору
 
 

Хотелось бы спросить, почему при отправке заголовков браузер все равно выводит свои заголовки (использую fsockopen()). Например делаю так, как описано в книге:

<?php
        
// Устанавливаем соединение, имя которого передано в параметре $hostname
        
$fp fsockopen($hostname80$errno$errstr30);
        
// Проверяем успешность установки соединения
        
if (!$fp) echo "$errstr ($errno)<br />\n";
        else
        {
            
// Формируем HTTP-заголовки для передачи его серверу
            
$headers "GET / HTTP/1.0\r\n";
            
$headers .= "Host: ".$hostname."\r\n";
            
// Подделываем пользовательский агент, маскируясь под пользователя WindowsXP
            
$headers .= "User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.50\r\n\r\n";
            
$headers .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
            
$headers .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
            
$headers .= "Accept-Encoding: gzip, deflate\r\n";
            
//$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
            //$headers .= "Keep-Alive: 115\r\n";
            // Подделываем реферер, сообщая серверу, что мы повторно нажимаем кнопку "Поиск"
            
$headers .= "Referer: http://".$hostname.$path."\r\n";
            
$headers .= "Connection: keep-alive\r\n\r\n";
            
$headers .= "Cache-Control: max-age=0\r\n";
            
// Отправляем HTTP-запрос серверу
            
fwrite($fp$headers);
            
// Получаем ответ
            
while (!feof($fp))
            {
                
$line .= fgets($fp1024);
                if (
trim($line) == ""$end true;
                else 
$out[] = $line;
            }
            
fclose($fp);
        }
?>

Просматриваю заголовки которые отправлены и получаемые при помощи плагина Mozilla FoxMeter. Он показывает такое

(Request-Line)    GET /click.php HTTP/1.1
Host    localhost
User-Agent    Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding    gzip, deflate
Accept-Charset    windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive    115
Connection    keep-alive
Cache-Control    max-age=0

Здесь присутсвует
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 115

Хотя в скрипте они за комментированы.
И User-Agent Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.50 как видите другой в чем проблема или что не так делаю.
Спасибо

  Ответить  
 
 автор: cheops   (10.08.2011 в 16:02)   письмо автору
 
   для: magic   (10.08.2011 в 10:41)
 

Погодите, при помощи плагина вы можете просмотреть, то, что отправляет/получает сам браузер, то что твориться на сервере, HTTP-заголовки, которые отправляет скрипт ему никак не могут быть доступны.

  Ответить  
 
 автор: magic   (10.08.2011 в 22:21)   письмо автору
137.6 Кб
 
   для: cheops   (10.08.2011 в 16:02)
 

Ну сделал скрин в атаче, посмотрите пожалуйста. Слева то что я якобы отправляю с право что получаю. Может я конечно не понял или не знаю. Разъясните пожалуйста.

  Ответить  
 
 автор: cheops   (11.08.2011 в 10:41)   письмо автору
 
   для: magic   (10.08.2011 в 22:21)
 

Это HTTP-заголовки, которые отправляются к файлу autoclick.php, те HTTP-заголовки, которые отправляет сам файл, вы при помощи плагина посмотреть не сможете.

  Ответить  
 
 автор: magic   (11.08.2011 в 10:56)   письмо автору
 
   для: cheops   (11.08.2011 в 10:41)
 

Т.е. что получается, файл отправляет заголовки на сервер, на сервере скрипт их подменивает и отправляет уже то что я указал. Правильно я понял?

  Ответить  
 
 автор: cheops   (11.08.2011 в 10:57)   письмо автору
 
   для: magic   (11.08.2011 в 10:56)
 

Совершенно верно.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования