Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LWP::UserAgent работа с http заголовками, как просмотреть заголовки 
:(
    Опции темы
burakov
Дата 6.4.2011, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



помогите просмотреть и отредактировать http заголовки.
работаю под winxp

Код

use strict;
use warnings;
use Data::Dumper qw (Dumper);
use LWP::UserAgent;
use HTTP::Headers;


my $UserAgent = LWP::UserAgent -> new ();
my $url = 'http://classon.ru';
my $HTTPRequest =  HTTP::Request->new('GET', $url);
my $HTTPResponse = $UserAgent -> request ($HTTPRequest);
my $headers = $UserAgent -> default_headers ();

print $UserAgent -> default_headers () -> as_string; #????? не работает



Вот пытаюсь получить заголовки и посмотреть что ж такое я получаю там???
просмотреть не могу.

Могу их вот так отредактировать как бы заново созданные
Код

$ua -> agent ('User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1');
$ua->default_header ('User-Agent' => 'User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1'); 
$ua->default_header ('Accept' => 'Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'); 
$ua->default_header ('Accept-Language' => 'ru,en-us;q=0.7,en;q=0.3'); 
$ua->default_header ('Accept-Encoding' => 'gzip,deflate');    
$ua->default_header ('Accept-Charset' => 'windows-1251,utf-8;q=0.7,*;q=0.7'); 


А мне нужно именно получить страничку, посмотреть заголовки , подправить их, если нужно и на основе этого создать GET запрос (файл получить хочу smile).

Поделитесь рабочим примером,
Спасибо.


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
Pfailed
Дата 6.4.2011, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 2
Всего: 39



Делюсь
Код

use LWP::UserAgent;

my $ua = LWP::UserAgent->new( parse_head => 0 );
my $response = $ua->get("http://yandex.ru/");
my $headers = $response->headers; # HTTP::Headers object




--------------------
PM MAIL   Вверх
burakov
Дата 6.4.2011, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Большое спасибо.

На всякий случай, я выложу как ПОСМОТРЕТЬ НА ЗАГОЛОВКИ.

Код

use LWP::UserAgent;
# my $ua = LWP::UserAgent->new ( parse_head => 0 );

my $ua = LWP::UserAgent->new ();
my $response = $ua->get("http://yandex.ru/");
my $headers = $response->headers; # HTTP::Headers object



print $headers -> as_string (); # 1 вариант

while (my ($key, $value) =  each (%$headers)) { # 2 вариант
    print $key."\t".$value."\n";                
}                                                




--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
burakov
Дата 7.4.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Господа долго думал и все таки 

не те заголовки мы здесь просмотрели, то есть какие то конечно увидели (но это те, которые в html странице в теге <heard>,

мне же нужно какие более ГЛУБОКИЕ заголовки просмотреть с технической информацией
которые содержатся в 
$ua -> default_headers.
Повторюсь что изменить их получается, но просмотреть не могу
$ua -> default_headers -> as_string не работает

Вот так я создаю default_headers без всзякого предварительного запроса $url 

Код

    my $ua = LWP::UserAgent -> new ();    
    $ua -> agent ('User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1');
    $ua -> default_headers -> push_header ('User-Agent' => 'User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1'); 
    $ua -> default_headers -> push_header ('Accept' => 'Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'); 
    $ua -> default_headers -> push_header ('Accept-Language' => 'ru,en-us;q=0.7,en;q=0.3'); 
    $ua -> default_headers -> push_header ('Accept-Encoding' => 'gzip,deflate');    
    $ua -> default_headers -> push_header ('Accept-Charset' => 'windows-1251,utf-8;q=0.7,*;q=0.7');        
    my $headers = $ua -> default_headers ();
    print Dumper $headers;



И вот извращенно Dumper их можно просмотреть ...  кое что видно там, а кое где ничего непонятно!
Нет ли более цивилизованного способа анализа заголовков, которые нужно послать
headers -> as_string () не работает

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

Спасибо


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
Pfailed
Дата 7.4.2011, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 2
Всего: 39



Что-то я не пойму что вам нужно. Посмотреть заголовки которые вы сами и составили?
print $ua->default_headers->as_string вполне работает.

В предыдущем примере мы получили заголовки, которые отдал сервер. Если бы оставили parse_head => 0, то значения из тега <head> не вставлялись бы в заголовки.



--------------------
PM MAIL   Вверх
burakov
Дата 7.4.2011, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



блин и правда работает
этот as_string как заколдованный пол дня ковырял - пусто - сейчас проверяю - выдает...
Спасибо большое.


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.