Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: LWP и редирект  (Прочитано 8983 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
borbos
Интересующийся

ru
Offline Offline

« : 15-02-2014 23:47 » 

Доброго времени. Вопрос такого рода, можно ли как-то средствами LWP управлять редиректом. Попробую пояснить кодом. Имеем

Код: (Perl)
#!/usr/bin/perl -w

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1284.0 Safari/537.13");

$ua->get('http://google.ru');
$ua->get('http://ya.ru');

Видно, что сначала запрашивается домен гугла, а потом яши. Так вот, запустив код, получаем, что гугл нас редиректит, затем проходя все редиректы открываетчя домен гугла, а потом уже яшки. Собственно, в чем проблема, можно ли сделать так, чтобы при редиректе выжыдалась некая пауза? Прошу прощение за сбивчатое объяснение...
Вот, что я имею ввиду
1. Запрашивается урл гугла.
2.Гугл нас пытается перебросить на другую страницу, НО, мы не переходим, а так сказать, выжидаем...
3. Идем на яндекс
4. А вот здесь, как ракз здесь, переходим уже по редиректу гугла...
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 16-02-2014 00:16 » 

Вот жеш... Жаль
А зачем? Но ладно

А есть у LWP что-нибудь пониже функции get?
например request - и ведь точно есть, а еще, наверное можно и статус ответа получить, и при редиректе location



Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
borbos
Интересующийся

ru
Offline Offline

« Ответ #2 : 16-02-2014 02:24 » 

Вот жеш... Жаль
А зачем? Но ладно

А есть у LWP что-нибудь пониже функции get?
например request - и ведь точно есть, а еще, наверное можно и статус ответа получить, и при редиректе location
В том то и дело, что хочется средствами LWP. Вручную заниматься всем этим не пойдет, ибо код у меня здоровенный, это я просто кусок вытащил и хотел наглядно продемонстрировать свою проблему
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 16-02-2014 10:56 » 

Если задался такой целью, то вперед!!! Здравствуй головная боль.
А как ты хотел?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 17-02-2014 03:46 » 

borbos, право мне некогда читать за тебя мануалы... Даже если прозрачная обработка редиректа не поддерживается (в чем сомневаюсь), надо прочто поднять руку, чтобы создать прилив крови к правильному органу: сделай свой пакет, наследованный от LWP::UserAgent, и замени тот get на новую логику.

Код: (Perl)
package Borbos::LWP::UserAgent;
use parent LWP::UserAgent;

sub get {
  my $self = shift;

  # new logic with $self->SUPER::get
}

1;
« Последнее редактирование: 17-02-2014 03:51 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines