Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Perl, Lpw

1.8K
20 августа 2004 года
2NetFly
132 / / 01.09.2003
За четыре года работы с LWP проблема, которую я сейчас опишу, ни разу не вызывала никаких неудобств. И вот теперь вызвала. Итак:

Код:
my $ua = LWP::UserAgent->new();

my $h = HTTP::Headers->new;
$h->header
(
    'Connection' => 'Keep-Alive',
    'Accept-Language' => 'ru',
    'Accept' => '*/*',
    'Accept-Encoding' => 'gzip, deflate'
);

my $r = HTTP::Request->new(GET => 'http://host.net/g.ebm', $h);
my $res = $ua->send_request($r);


Если сделать вывод $res->as_string, получим то, что нужно:
 
Код:
GET http://host.net/g.ebm
Connection: Keep-Alive
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru


Однако, в действительности уходит следующий заголовок:

GET /g.ebm HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: Keep-Alive, TE, close
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru
Host: host.net

Соекты, ясное дело, ерзать не хочется =) Может знает кто, как убить эту дрянь?
1.8K
20 августа 2004 года
2NetFly
132 / / 01.09.2003
Видимо, форум совсем стух. По крайней мере данный раздел.
283
21 августа 2004 года
Alone
910 / / 20.11.2002
Цитата:
Originally posted by 2NetFly
Видимо, форум совсем стух. По крайней мере данный раздел.


угу особенно на твоем топике ;)
я лично тоже никогда с таким не сталкивался и ничего не нашел по твоей проблемме(а это точно проблемма?)
одно но... LWP помоему не работает с Keep-Alive напрямую для этого нужно юзать LWP::ConnCache
возможно из-за этого появляется "Connection: Keep-Alive, TE, close"

P.S.
ты ведь исходящие запросы снифером читал? можеш кинуть ссылку на прогу?... ну или как читал :)

1.8K
21 августа 2004 года
2NetFly
132 / / 01.09.2003
EffeTech HTTP Sniffer
Вот только HTTPS не понимает =(
287
22 августа 2004 года
Shiizoo
958 / / 14.03.2004
ну так веб-сервер видимо просто заголовки обрабатывает на свой лад, и все.. если апач, дописывай nph- кскриптам.. на IIS заголовке итак не парсяца..
1.8K
22 августа 2004 года
2NetFly
132 / / 01.09.2003
Цитата:
Originally posted by Shiizoo
ну так веб-сервер видимо просто заголовки обрабатывает на свой лад, и все.. если апач, дописывай nph- кскриптам.. на IIS заголовке итак не парсяца..


При чем здесь веб-сервер? Я запрос ловлю на выходе на той машине, с которой он уходит.

287
22 августа 2004 года
Shiizoo
958 / / 14.03.2004
Ты вообще чтоль деревянный?=) Почитай как устроен cgi=) Или ты хочешь сказать что у тебя скрипт напрямую с сокетами работает безо всяких веб-серваков? Я думаю нет.. А что тогда? Ты запрашиваешь страницу, cgi генерит, отдает серваку, тот перекапывает заголовки инаправляет НА ВЫХОД..

Это что?

Цитата:


Если сделать вывод $res->as_string, получим то, что нужно:

code:--------------------------------------------------------------------------------
GET http://host.net/g.ebm
Connection: Keep-Alive
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru
--------------------------------------------------------------------------------


Однако, в действительности уходит следующий заголовок:

GET /g.ebm HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: Keep-Alive, TE, close
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru
Host: host.net



Ну вот в первом случае, ты просто выводишь содержимое, во втором, получаешь обработанный веб-сервером результат..)

1.8K
22 августа 2004 года
2NetFly
132 / / 01.09.2003
В хумор.фильтред, однозначно.

Из первого второе делает модуль LWP, который, ты сейчас будешь удивлен, работает напрямую с сокетами "без сервков". Надеюсь, тебя не потрясет эта новость и ты не повесишься с горя ;=)

В первом случая я вывожу содержимое экземпляра объекта HTTP::Request, а во втором случае я снифером перехватываю тот же (!) запрос (а не ответ от сервера), обработанный LWP, который вписал не нужные мне тэги. Где именно он их прописывает и можно ли это отключить не переписывая или не наследую LWP – вот что спрашивалось.

Постскриптум. Ты, юноша, посдержанней немного будь. Себя ведь позоришь своей глупостью.
1.8K
22 августа 2004 года
2NetFly
132 / / 01.09.2003
Цитата:
Originally posted by Alone

P.S.
ты ведь исходящие запросы снифером читал? можеш кинуть ссылку на прогу?... ну или как читал :)


Нашел, наконец-то, с поддержкой HTTPS: HttpWatch. Идет, правда, плагином к IE (следовательно, работает только с ним – запросов из скриптов увидеть не получится), но мне оказался весьма полезен.

287
23 августа 2004 года
Shiizoo
958 / / 14.03.2004
1. Я сдержан где надо и не тебе меня учить=)
2. Чтобы опозорица, нужно хотя бы найти человека/группу людей, в чьих глазах это можно сделать. Тебя на эту кандидатуру ставить ой как побаиваюсь=)
3. Никогда не пользовал LWP, и пользовать не собираюсь. Знать не знал как он работает, изучать ненужную либу - смысла не вижу. Я предположил, ты ответил: "При чем здесь веб-сервер? Я запрос ловлю на выходе на той машине, с которой он уходит.", нигде в этих строках об LWP работающем с сокетами ничего не сказано=) Ах да, ты же видимо думаешь, что все - лентяи как ты, и юзают чужие либы? Ты, может не крупно, но хотя бы раз ошибся - я стараюсь этого (юзания хотя бы LWP)избегать.
4. И напоследок, тупой глум, и пустой рамс маинькой обезьянки=) Это все твои хобби и имена.. "Предупреди - потом галди",- возьми это за правило, если так с людьми ужиться не получаеца=)
283
23 августа 2004 года
Alone
910 / / 20.11.2002
to 2NetFly
хм... странно все это
у тебя какая версия LWP?
у меня 5.51

и заголовки он отправляет такие:
 
Код:
GET /cgi-bin/env.cgi HTTP/1.0
 Accept: */*
 Accept-Encoding: gzip, deflate
 Accept-Language: ru
 Host: makethemcry.com
 User-Agent: libwww-perl/5.51


и еще в 5.51 нету "send_request" я использовал "request"
может это поможет

Shiizoo игнорируй, понтов много опыта мало, сам видиш...
287
23 августа 2004 года
Shiizoo
958 / / 14.03.2004
=)) заступщик=)))

Я эти дни, э, ток укуренным до форума долезал=) Уж извините=) Хз, как половину постов не заметил=) А вчера крайне саксовое настроенице было=) Вот и флйем;)

И, Alone, только не надо мозги парить=) Несмотря на мои "мало опыта" и на твои "дохрена знаний", ты, по крайней мере на форуме, подскальзываешьсся не реже (может чаще?=) меня;)
287
26 августа 2004 года
Shiizoo
958 / / 14.03.2004
Да, еще постану=) В любом случае, больше всего я здесь уважаю Модера - за то что умный, и Alone - за то что упрямый и стоит на своем=) Не серчайте, хакрактер такой, не, не бычий, а "тарань, пока не протараница" =) Я всегда признаю свои ошибки, если они таковыми являюцца!!!! =) Простите миня=) А LWP все-равно юзать не буду.. Пора на cpp перескакивать, надоело=)))

зы: Плз, кто-нить, вышлите мне на почту полный дистриб последнего VCPP, заранее благодарен ^_^ =))))
300
27 августа 2004 года
ReDrum
689 / / 20.04.2000
Чего вы как дети малые себя ведете. Не надоело ли?
287
28 августа 2004 года
Shiizoo
958 / / 14.03.2004
sry, больше не будем=))) ;)
1.8K
29 августа 2004 года
2NetFly
132 / / 01.09.2003
Цитата:
Originally posted by Alone
to 2NetFly
хм... странно все это
у тебя какая версия LWP?
у меня 5.51

и еще в 5.51 нету "send_request" я использовал "request"
может это поможет

Shiizoo игнорируй, понтов много опыта мало, сам видиш...


Perl 5.8
UserAgent.pm,v 2.3 2002/08/18 03:29:47

request не спасает =(

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог