LINUX.ORG.RU

gethostbyname, perl, HTTP::Lite & etc


0

0

Хай всем, вобщем при первом вызове dns запрос отправляется в сеть (сниффером смотрю ) а при последующем с теми же параметрами - нет. Мне нужно исключить эту фишку, кто знает как? А загвоздка с HTTP::Lite для Perl: пишется парсер сайта, так вот при итерационном создании этого объекта, запрос в сеть не отправляется и значение status этого объекта не определено, причем такая фигня наблюдается при ppp соединении к прову, если соединение постоянное (ethernet), то всё ок. Более того, скрипт замечательно работает под вендой с диалапом. Поможите люди добрыя :)))

★★

Re: gethostbyname, perl, HTTP::Lite & etc

> Хай всем, вобщем при первом вызове dns запрос отправляется в сеть (сниффером смотрю ) а при последующем с теми же параметрами - нет. Мне нужно исключить эту фишку, кто знает как?

Без минимального текста скрипта с этим эффектом сказать трудно в чём дело. Из вопроса я даже не понял почему он должен отправлять запрос, если один раз он уже получен? Попробуй порыть в сторону pppd, я с ним почти не работал, да и то давно, возможно это какая-то оптимизация траффика для диалапного случая.

anonymous_incognito ★★★★★ ()
Ответ на: Re: gethostbyname, perl, HTTP::Lite & etc от anonymous_incognito

Re: gethostbyname, perl, HTTP::Lite & etc

Скрипт простой, даже приводить нечего: 1. вызывается конструктор HTTP::Lite->new для корневого URL 2. По полученным ссылкам в цикле вызывается конструктор HTTP::Lite->new для каждой ссылки

т.е. возникает такая ситуация - для корневого url страница возвращается, а для распарсенных url из корневой страницы ничего не получаю. Собственно там и рыть нечего, имх проблема связана с разрешением имен в адреса, причем иногда случается что скрипт под linux работает нормально. Насчет pppd - вроде все нормально: использую wvdial, dns сервер в /etc/resolv.conf прописывается, интерфейс подымается, таблица маршрутов изменяется соотв.

PETER ★★ ()
Ответ на: Re: gethostbyname, perl, HTTP::Lite & etc от PETER

Re: gethostbyname, perl, HTTP::Lite & etc

Неохота сейчас ставить HTTP::Lite, его у меня нет в perl 5.8, но ты пробовал не по полученным ссылкам вызывать HTTP::Lite->new, а просто сделать два вызова для разных адресов и посмотреть, что происходит.

anonymous_incognito ★★★★★ ()
Ответ на: Re: gethostbyname, perl, HTTP::Lite & etc от anonymous_incognito

Re: gethostbyname, perl, HTTP::Lite & etc

Забыл добавить, ситуация у тебя странная и без текста, хотя бы из пяти строчек для примера трудно говорить о причине, может скрипт просто недожидается ответа от DNS.

anonymous_incognito ★★★★★ ()
Ответ на: Re: gethostbyname, perl, HTTP::Lite & etc от anonymous_incognito

Re: gethostbyname, perl, HTTP::Lite & etc

Да если б в скрипте было дело ...: дело в том что и пинг по имени хоста не всегда проходит нормально, завершается с ответом Unknown host, хотя броузер (firefox) к нему цепляется нормально. Тут в системе что-то, а где копать не знаю.

PETER ★★ ()
Ответ на: Re: gethostbyname, perl, HTTP::Lite & etc от PETER

Re: gethostbyname, perl, HTTP::Lite & etc

> дело в том что и пинг по имени хоста не всегда проходит нормально, завершается с ответом Unknown host

Возможно модем ретрейнится в момент запроса DNS, ответ за установленное время не приходит и Unknown host. Тут надо модем настраивать :)

anonymous_incognito ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.