Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > LWP::UserAgent


Автор: SATYR 28.11.2006, 18:12
Всем добррого времени. 
Долго ковырялся в инете, но не нашел ответа на это вопрос. smile Поэтому излагаю его. smile 

При попытке загрузить страницу посредством LWP::UserAgent наблюдаются тормоза при выполнение $agent->request($req), тормоза доходят по времени где-то да 30-40 с на запрос (не оченьто православно).
Причем пытался загружать странички как с удаленных хостов так и с локальной машины, пробовал использовать RobotUA вместо UserAgent
результат тот же smile 

собсно код 
Код

....
 my $agent= LWP::UserAgent->new();    
       $agent->proxy('http',"http://$proxy/") if(defined($proxy));        
 my $req= HTTP::Request->new();
       $req->method('GET');
       $req->header(Accept => "text/html");
       $req->uri($url);
 my $response=$agent->request($req); # тормозит здесь
.....


Народ подскажите как-нибудь можно ускорить процес загрузки страничек или такое поведение ( тормоз в $agent->request($req)) норма для этих модулей? 
З.Ы. Просто сталкиваюсь с это проблемой второй раз smile  раньше грешил на ActiveState, сейчас сижу вроде под *nix системой.

Автор: DiverD 28.11.2006, 23:13
хм. у меня все нормал грузит без проблем - может все таки дело все в proxy?

Автор: polanski10 20.1.2007, 18:16
Уверены ли вы в своей проксе, как вы её генерите, может она уже сдохла?
Рабочий код:
Код

#!/usr/bin/perl -w

use strict;
use LWP::UserAgent;
use HTTP::Request;

my $url = 'http://www.yandex.ru';
my $ua = LWP::UserAgent->new;
$ua->timeout(15);
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.13) Gecko/20060414");

    my $req = HTTP::Request->new(GET => $url);
    my $res = $ua->request($req);
    if ($res->is_success) {
         my $content = $res->content;
         #работаем с $content
    }
    else {
        print ВАШ_ЛОГ $res->status_line ,"\n";
    }

Доработайте генератор проксей, мне кажется дело может быть только в нём

Автор: DiverD 21.1.2007, 02:42
polanski10 да нет тут проблем=) и у вас в кодде вообще нет работы с прокси!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)