Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » LWP::UserAgent

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

JackalSR13



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Приветствую!
 
Из ниоткуда возникла проблема: LWP перестал выкачивать страницы. Подозреваю, что дело в proxy, прочтавил переменную, но все равно не работает. Вот эта конструкция верна?
 
use LWP::UserAgent;
 
my ($req, $res, $ua);
 
$ua = new LWP::UserAgent;
$ua -> agent("Mozilla/5.0" . $ua->agent);
$req = new HTTP::Request 'GET' => "$req_url1";
$req->header('Referrer' => 'http://news.altavista.com');
$res = $ua->request($req, "$in_file1");
 

Всего записей: 1113 | Зарегистр. 05-01-2002 | Отправлено: 10:04 28-07-2002
DimoN



Tech administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
use LWP::UserAgent;
use HTTP::Response;
use HTTP::Request;
 
 
     my $ua = new LWP::UserAgent;
 
     my $ref = 'http://www.blabla.ru';
     my $get ='';
     my $agent ='';
     my $proxy ='';
 
     $ua->proxy(['http'], 'http://' . $proxy); # Можно и через проксю
 
     $ua->agent($agent);
     $req2 = HTTP::Request->new(GET=> $get);                  
     $req2->referer($ref);        
     my $response2 = $ua->request($req2);
 


----------
Мы Баним с улыбкой :) ™

Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 10:48 28-07-2002
lucky



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как проверить наличие этого модуля на сервере?
Может кто-нибудь привести какой-нить тестовый код?
Я попробовал было

Код:
#!/usr/bin/perl
 
use LWP::Simple;
$url="ru-board.com/forall/batva/knopki/board4.gif";
if (head($url))
 {
  print "Content-Type: text/html\n\n";
  print head($url);
 }
 

а мне в ответ:
Error: 403 Forbidden
 
что бы это значило
(атрибуты на чтение-запись-исполнение скрипта у меня выставлены правильно - остальные скрипты с такими же точно атрибутами работают)

----------
я буйный, но прикидываюсь тихим
ага.... и фигачу свой старый проектег Лунная База

Всего записей: 675 | Зарегистр. 10-04-2002 | Отправлено: 00:40 11-10-2002
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky
 

Цитата:
 как проверить наличие этого модуля на сервере?  

 
Если его нет, скрипт, его запрашивающий будет ругаться, что его нет, ругательства выглядят примерно так:
 

Цитата:
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 . /usr/libdata/perl/5.00503/mach /usr/libdata/perl/5.00503) at ./script.pl line номер_строки_где_он_запрашивается.

 
А лежит он, соответственно:  
/usr/local/lib/perl5/...
/usr/libdata/perl/...
 
Звать его User-Agent.pm права ему нужны 555.
 
 
 
В связи с этим у меня вопрос - если у меня на сервере, на котором мне надо поставить этот модуль, нет рута, соотвественно, я не могу скопировать модуль по указанным путям.
Есть ли возможность положить модуль в другое место и запрашивать его оттуда? Например, положить его в ту папку, которой я являюсь владельцем?
 
И если есть такая возможность, то как ее реализовать?
 
 
Добавлено
lucky
 

Цитата:
use LWP::Simple;  

 
Ой, нет, твоего зовут Simple.pm, все остальное то же самое.
 

Цитата:
а мне в ответ:  
Error: 403 Forbidden  

 
От какого сервера такой ответ?
 
 
 
Добавлено
Короче, дело было так.
 
Те модули, которые не требуют компилляции, достаточно положить в папку того скрипта, который их использует, либо в подпапку ./HTML/ ./LWP  и т.д. по смыслу, как просит модуль. (с) Лов.
 
 
 
А вот модуль Parser.pm захотел компиллиться, я скачала отсюда все:
http://search.cpan.org/src/GAAS/HTML-Parser-3.27/
Запустила Makefile.pl, он создал мне MAKEFILE
где в числе прочего:
 
# These definitions are from config.sh (via /usr/libdata/perl/5.00503/mach/Config.pm)
...
INST_BIN = blib/bin
INST_EXE = blib/script
INST_LIB = blib/lib
INST_ARCHLIB = blib/arch
INST_SCRIPT = blib/script
PREFIX = /usr
INSTALLDIRS = site
INSTALLPRIVLIB = /usr/libdata/perl/5.00503
INSTALLARCHLIB = /usr/libdata/perl/5.00503/mach
INSTALLSITELIB = /usr/local/lib/perl5/site_perl/5.005
INSTALLSITEARCH = /usr/local/lib/perl5/site_perl/5.005/i386-freebsd
INSTALLBIN = $(PREFIX)/bin
INSTALLSCRIPT = $(PREFIX)/bin
PERL_LIB = /usr/libdata/perl/5.00503
PERL_ARCHLIB = /usr/libdata/perl/5.00503/mach
SITELIBEXP = /usr/local/lib/perl5/site_perl/5.005
SITEARCHEXP = /usr/local/lib/perl5/site_perl/5.005/i386-freebsd
LIBPERL_A = libperl.a
FIRST_MAKEFILE = Makefile
MAKE_APERL_FILE = Makefile.aperl
PERLMAINCC = $(CC)
PERL_INC = /usr/libdata/perl/5.00503/mach/CORE
PERL = /usr/bin/perl
FULLPERL = /usr/bin/perl
 
VERSION_MACRO = VERSION
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
XS_VERSION_MACRO = XS_VERSION
XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
 
MAKEMAKER = /usr/libdata/perl/5.00503/ExtUtils/MakeMaker.pm
 
 
 
Есно, у меня не под рутом нет прав на запись туда... есть ли способ это обойти?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 00:30 10-02-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » LWP::UserAgent


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru