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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не понятная проблема. Браузер страницу открывает, 
:(
    Опции темы
djusha
Дата 28.1.2012, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



не пойму проблему. 
вот таким образом можно получить Тиц домена картинкой:

http://yandex.ru/cycounter?test.ru

при запросе браузером проблем не возникает.

но если запрашивать AnyEvent::HTTP, то отдает ошибку... но иногда нормально

LWP::UserAgent отдает статус 200, но без тела... только заголовок. но опять же иногда нормально smile

Проблема началась несколько дней назад. до этого те же скрипты работали прекрасно.

Так же, те же самые скрипты на AnyEvent::HTTP и LWP::UserAgent без проблем работают... получение любого сайта или картинки не составляет проблемы...

первая мысль была... яндекс забанил IP адреса... попробовал и с домашнего компа и с сервера... проблема сохраняется...

что может быть? 
скрипты рабочие. другие страницы скачиваются
http://yandex.ru/cycounter?test.ru с броузером тоже работает.

что то я потерялся.... у кого какие мысли?





Добавлено @ 22:04
ох... а каким образом заголовок темы отредактировать?  smile 








Это сообщение отредактировал(а) djusha - 28.1.2012, 22:05
PM WWW   Вверх
arto
Дата 28.1.2012, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

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



PM MAIL ICQ   Вверх
djusha
Дата 29.1.2012, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(arto @ 28.1.2012,  23:37)
http://en.wikipedia.org/wiki/Chunked_transfer_encoding

И ???

Это он под AnyEvent так говорит. и то не всегда. Часто по другому - типа 596 | M-PM-^RM-QM-\0M-PM-5M-PM-<M-QM-^O M-PM->M-P...
под LWP смотрели?

умные мысли меня не посетили...


PM WWW   Вверх
Pfailed
Дата 29.1.2012, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Яндекс специльно или случайно кидает кривой ответ, который LWP обработать не может. Причину видно в заголовке в поле "X-Died".


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


Новичок



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

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



Цитата(Pfailed @ 29.1.2012,  08:25)
Яндекс специльно или случайно кидает кривой ответ, который LWP обработать не может. Причину видно в заголовке в поле "X-Died".

Это понятно, что яндекс включил защиту. причем буквально недавно.
другой вопрос, что броузер то нормально показывает.  причем в опере из режима отладки разные заголовки подсовывал / убирал... все равно работает... показывает...

Из скрипта не хочет
пробовал (под LWP) играть с заголовками, безрезультатно... под AnyEvent просто еще не разобрался как заголовки подсовывать....


по поводу заголовка... поля "X-Died". что то не видно его

под AnyEvent смотрю

Код

my ($body, $hdr) = @_;
use Data::Dumper;
print Dumper $hdr;


получаю 

$VAR1 = {
          'Reason' => 'Время ожидания соединения истекло',
          'URL' => 'http://yandex.ru/cycounter?www.com',
          'Status' => 596
        };   

или не так смотрю?
PM WWW   Вверх
Pfailed
Дата 29.1.2012, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это не похоже на защиту, скорее на ошибку. Ответ просто не соответствует спецификации HTTP 1.1. Видимо браузеры более лояльно относятся к спецификации чем lwp.
Вот например
Цитата

$ curl -i http://yandex.ru/cycounter?test.ru
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sun, 29 Jan 2012 06:45:32 GMT
Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.12.1
Last-Modified: Thu, 30 Dec 2010 04:25:47 GMT
Expires: Thu, 13 Jan 2011 04:25:47 GMT
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked
Content-Type: image/gif
Transfer-Encoding: chunked



А в описании протокола четко сказано
Цитата

The "chunked" transfer-coding MUST NOT be applied more than once to a message-body

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6

"X-Died" это в lwp:
Код

print $response->as_string;


Напишите письмо в Яндекс, может исправят.


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


Новичок



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

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



Цитата(Pfailed @ 29.1.2012,  09:51)
Это не похоже на защиту, скорее на ошибку. Ответ просто не соответствует спецификации HTTP 1.1. Видимо браузеры более лояльно относятся к спецификации чем lwp.
Вот например
Цитата

$ curl -i http://yandex.ru/cycounter?test.ru
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sun, 29 Jan 2012 06:45:32 GMT
Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.12.1
Last-Modified: Thu, 30 Dec 2010 04:25:47 GMT
Expires: Thu, 13 Jan 2011 04:25:47 GMT
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked
Content-Type: image/gif
Transfer-Encoding: chunked



А в описании протокола четко сказано
Цитата

The "chunked" transfer-coding MUST NOT be applied more than once to a message-body

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6

"X-Died" это в lwp:
Код

print $response->as_string;


Напишите письмо в Яндекс, может исправят.

написать, мол, вот мне Вас сканировать не получается... исправте...  smile 

не... все больше убеждаюсь, это защита от сканирования... 

тут вопрос стоит, как замаскировать запросы скрипта под браузер...

Добавлено через 8 минут и 25 секунд
хех...  тот же запрос из Вашего примера:

$ curl -i http://yandex.ru/cycounter?test.ru 

получает и заголовок и тело нормально... 
PM WWW   Вверх
djusha
Дата 29.1.2012, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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







Хмммм... есть нехорошее подозрение, что у яндекса все починилось....

хотя местами косяки проскакивают...





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


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

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


 




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


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

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