URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5705
[ Назад ]

Исходное сообщение
"Вытягивание страницы если 'донор' отслеживает браузер"

Отправлено Angelika , 19-Апр-08 19:08 
Недавно столкнулась с такой ситуацией :
- Нужно было вытянуть страницу для дальнейшей её обработки (отфильтровка/коррекция/замена, и выдача некоторых данных на основе вытянутых).
При использовании стандарнтой процеруры на PERL:
use LWP::Simple gw(get);
$content=get("http://www.xxx.xx");
- Переменная $content должна содержать текст указанной Web страницы.
В подавляющем большинстве случаев - так оно и работает, но...
Вот интересный случай,- сервер с которого пытаюсь вытянуть страницу - возвращает какуюто чушь.
Есть подозрение, что этот сервер определяет тип браузера, а так как вытаскивает с него не браузер, а Апач , то он выдаёт что-то совсем не то.
Как с этим бороться ???
Для примера дам URL, содержимое которого нужно корректно загнать в переменную для дальнейшей обработки:
http://mooncity.combats.ru/inf.pl?login=КОНДОР
http://mooncity.combats.ru/inf.pl?login=Crayza
- Ну, в таком духе.

Помогите пожалуйста, очень прошу, ночи не сплю, крыша уже едет (((


Содержание

Сообщения в этом обсуждении
"Вытягивание страницы если 'донор' отслеживает браузер"
Отправлено angra , 19-Апр-08 20:08 
Может эта строчка вам подскажет дальнейшее направление поиска:
Content-Encoding: gzip

Если еще сомневаетесь, то сделайте tcpdump -s 0 -XX host mooncity.combats.ru и откройте браузером


"Вытягивание страницы если 'донор' отслеживает браузер"
Отправлено Angelika , 19-Апр-08 21:44 
>Может эта строчка вам подскажет дальнейшее направление поиска:
>Content-Encoding: gzip
>
>Если еще сомневаетесь, то сделайте tcpdump -s 0 -XX host mooncity.combats.ru и
>откройте браузером

Зделала так (явно указав тип MIME):
print header(-type => 'gzip');

- Эффект тот же, кстати, просто http://mooncity.combats.ru
- вытягивается нормально и без 'gzip'
А вот именоо http://mooncity.combats.ru/inf.pl?login=Crayza
- уже не хочет нормально вытягиваться (((

ПС: Я не профи, просто немного хобби есть по вэб программированию, помогите пожалуйста.
Очень тяжело даётся самообразование (((



"Вытягивание страницы если 'донор' отслеживает браузер"
Отправлено angra , 20-Апр-08 14:14 
Разъясняю на пальцах. по этой ссылке  http://mooncity.combats.ru/inf.pl?login=Crayza никакого отслеживания браузера не происходит. Браузер получает ту же информацию, что и ваш скрипт или wget(кстати запустите его с --debug и посмотрите). Если бы вы не испугались tcpdump и сделали, как я говорил, то вы бы это и сами увидели. Контент отдается в сжатом виде, браузер знает что дальше с таким контентом делать, а ваш скрипт нет.
Если вас интересует что же делать, то готового ответа у меня нет, никогда раньше не приходилось сталкиваться. Но если бы понадобилось, то я бы попробовал указать в хедерах http 1.0 и неприемлимость сжатия или почитал бы rfc по обработке gzip контента и поискал подходящий модуль на CPAN.

"Вытягивание страницы если 'донор' отслеживает браузер"
Отправлено Angelika , 22-Апр-08 23:50 
- К сожалению - я дерево...............
Мне бы готовое решение , сил нету (((

"Вытягивание страницы если 'донор' отслеживает браузер"
Отправлено kavkaz , 04-Май-08 08:59 
>- К сожалению - я дерево...............
>Мне бы готовое решение , сил нету (((

что то в этом духе
http://search.cpan.org/~pmqs/IO-Compress-Zlib-2.009/pod/FAQ.pod