Perl, Lpw
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, получим то, что нужно:
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
Соекты, ясное дело, ерзать не хочется =) Может знает кто, как убить эту дрянь?
Видимо, форум совсем стух. По крайней мере данный раздел.
угу особенно на твоем топике ;)
я лично тоже никогда с таким не сталкивался и ничего не нашел по твоей проблемме(а это точно проблемма?)
одно но... LWP помоему не работает с Keep-Alive напрямую для этого нужно юзать LWP::ConnCache
возможно из-за этого появляется "Connection: Keep-Alive, TE, close"
P.S.
ты ведь исходящие запросы снифером читал? можеш кинуть ссылку на прогу?... ну или как читал :)
Вот только HTTPS не понимает =(
ну так веб-сервер видимо просто заголовки обрабатывает на свой лад, и все.. если апач, дописывай nph- кскриптам.. на IIS заголовке итак не парсяца..
При чем здесь веб-сервер? Я запрос ловлю на выходе на той машине, с которой он уходит.
Это что?
Если сделать вывод $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
Ну вот в первом случае, ты просто выводишь содержимое, во втором, получаешь обработанный веб-сервером результат..)
Из первого второе делает модуль LWP, который, ты сейчас будешь удивлен, работает напрямую с сокетами "без сервков". Надеюсь, тебя не потрясет эта новость и ты не повесишься с горя ;=)
В первом случая я вывожу содержимое экземпляра объекта HTTP::Request, а во втором случае я снифером перехватываю тот же (!) запрос (а не ответ от сервера), обработанный LWP, который вписал не нужные мне тэги. Где именно он их прописывает и можно ли это отключить не переписывая или не наследую LWP – вот что спрашивалось.
Постскриптум. Ты, юноша, посдержанней немного будь. Себя ведь позоришь своей глупостью.
P.S.
ты ведь исходящие запросы снифером читал? можеш кинуть ссылку на прогу?... ну или как читал :)
Нашел, наконец-то, с поддержкой HTTPS: HttpWatch. Идет, правда, плагином к IE (следовательно, работает только с ним – запросов из скриптов увидеть не получится), но мне оказался весьма полезен.
2. Чтобы опозорица, нужно хотя бы найти человека/группу людей, в чьих глазах это можно сделать. Тебя на эту кандидатуру ставить ой как побаиваюсь=)
3. Никогда не пользовал LWP, и пользовать не собираюсь. Знать не знал как он работает, изучать ненужную либу - смысла не вижу. Я предположил, ты ответил: "При чем здесь веб-сервер? Я запрос ловлю на выходе на той машине, с которой он уходит.", нигде в этих строках об LWP работающем с сокетами ничего не сказано=) Ах да, ты же видимо думаешь, что все - лентяи как ты, и юзают чужие либы? Ты, может не крупно, но хотя бы раз ошибся - я стараюсь этого (юзания хотя бы LWP)избегать.
4. И напоследок, тупой глум, и пустой рамс маинькой обезьянки=) Это все твои хобби и имена.. "Предупреди - потом галди",- возьми это за правило, если так с людьми ужиться не получаеца=)
хм... странно все это
у тебя какая версия LWP?
у меня 5.51
и заголовки он отправляет такие:
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ru
Host: makethemcry.com
User-Agent: libwww-perl/5.51
и еще в 5.51 нету "send_request" я использовал "request"
может это поможет
Shiizoo игнорируй, понтов много опыта мало, сам видиш...
Я эти дни, э, ток укуренным до форума долезал=) Уж извините=) Хз, как половину постов не заметил=) А вчера крайне саксовое настроенице было=) Вот и флйем;)
И, Alone, только не надо мозги парить=) Несмотря на мои "мало опыта" и на твои "дохрена знаний", ты, по крайней мере на форуме, подскальзываешьсся не реже (может чаще?=) меня;)
зы: Плз, кто-нить, вышлите мне на почту полный дистриб последнего VCPP, заранее благодарен ^_^ =))))
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 не спасает =(