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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> интересный вопрос: LWP! 
:(
    Опции темы
Shadex
Дата 20.4.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



пробуй прочитать файл по ссылке: 
Код

use LWP::Simple;
my $doc = get('http://test.com/test.php');

все нормально работает! но если это сделать в файле который принимает форму с файлом... то почему то не работает! как можно сделать по другому? может и не в этом причина? почему может не работать GET();  
PM MAIL   Вверх
BlackLFL
Дата 20.4.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

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



мы не телепаты, покажите код. 
PM WWW   Вверх
Shadex
Дата 20.4.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



там большой файл... но проблема думаю в том, что этот CGI файл закачивает файл, который передается формой и не может одновременно выполнить get('http://test.com/test.php');
может такое быть или нет? да и я в самом начале файла хочу сделать чтение файла... 
Код

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use CGI qw/:standard/;
use DBI;

use LWP::Simple;
my $doc = get('http://gigauploader.com/proverka_users.php');
 
PM MAIL   Вверх
BlackLFL
Дата 20.4.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

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



может у Вас методы пересикаются?

попробуйте так
Код

my $doc = LWP::Simple::get('http://ya.ru');

либо воспользуйтесь полной версией LWP
Код

use LWP;
my $ua = LWP::UserAgent->new();
my $url="http://www.ya.ru";
my $document = $ua->request( HTTP::Request->new( GET => $url ) );
 
PM WWW   Вверх
nitr
Дата 20.4.2006, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Код
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $content = $ua->get("http://gigauploader.com/proverka_users.php")->content;


для передачи форме параметров ?param1=value1 и т.д.

А точно у тебя GET, может всё же у тебя POST
читай perldoc LWP 

Код
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $content = $ua->post("http://gigauploader.com/proverka_users.php", [param1 => value1, param2 => value2])->content;
 

Shadex, или ты совсем другое хочешь сделать? Форму добавить? Это совсем другая тема ;) 

Это сообщение отредактировал(а) nitr - 21.4.2006, 09:20


--------------------
PM   Вверх
Shadex
Дата 22.4.2006, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



все отлично! я хотел прочитать файл! =) выполненный скрипт! уже сделал! спасибо всем, кто помогал! только вот у меня теперь новая проблема, почему то не работает редирект:
Код

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $cont = $ua->get("http://test.com/test.php")->content;
if ($cont==0)
 {
   print redirect('http://test.com);
   exit;
 }

почему не работает выражение в условии IF??? в тестовом файле опять же все работает! какие могут быть причины?  
PM MAIL   Вверх
nitr
Дата 22.4.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



$cont вроде строка... 
их сравнивают оператором eq,  ne ...

Код
if ($cont eq '')
 {
   print redirect('http://test.com');
   exit;
 }

это для твоего кода  

Это сообщение отредактировал(а) nitr - 22.4.2006, 23:01


--------------------
PM   Вверх
Shadex
Дата 22.4.2006, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



так я тоже пробовал, но не работает! да и дело думаю не в этом, потому что в тестовом скрипте все работает! а вот в скрипте который принимает форму с файлом, не хочет! просто мне при выполнении определенного условия нужно сразу остановить закачку... или чтобы она вообще не осуществялась! щас опишу подробнее: у меня есть форма - HTML-файл - с которой мы передаем файл пользователя в CGI скрипт... в самом начале идет проверка и если условие выполняеися, то нужно сделать редирект и не выполнять закачку... 
Код

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $cont = $ua->get("http://test.com/test.php")->content;
if ($cont eq '1')
 {
   print redirect('http://test.com);
   exit;
 }

уже какие способы только не перепробовал... ничего не выходит! 
PM MAIL   Вверх
nitr
Дата 23.4.2006, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



print redirect('http://test.com); ошибка в коде тут  ;) напиши print redirect('http://test.com'); 
совет: ссылки лучше заключать в одинарные ковычки ;) 

Это сообщение отредактировал(а) nitr - 23.4.2006, 01:52


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


Новичок



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

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



да нет, эта кавычка случайно вылетела, я с ней пробовал! и щас еще раз перепробовал различные варианты... я думаю тут надо искать связь с закачиваемым файлом... он ведь передается! можем мы его вот так просто оборвать?! я Perl недавно стал изучать, поэтому еще не понимаю полностью как он работает и где какие процессы происходят! 
PM MAIL   Вверх
BlackLFL
Дата 23.4.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

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



Код

use LWP;
my $ua = LWP::UserAgent->new();
my $url="http://www.yaaaaaaaa.ru";
my $document = $ua->request( HTTP::Request->new( GET => $url ) );
unless ( $document->code() == 200 ) {
    # Делаем редирект, и т.п.
}
 
PM WWW   Вверх
nitr
Дата 23.4.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



по LWP очень хорошая дока, даже на английском всё понятно будет ;)
Да и методов много... 


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


Новичок



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

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



=) и опять я с этой проблемой! удивительно что я еще не сдался, хотя пора бы наверно! но очень хочется сделать! 
Код

my $ua = LWP::UserAgent->new;
my $cont = $ua->get("http://gigauploader.com/proverka_users.php")->content;
if ($cont==12345)
{
   print redirect('http://ya.ru');
   exit;
}

вот опять показываю код! могу сразу сказать, что чтение файла работает отлично! условие выполняется! и вот когда доходит дело до выполнения условия, то не работают эти 2 строчки... 
Код

print redirect('http://ya.ru');
exit;

причем, если там сделать другую операцию, например, я делал запись в базу... то все рабоатет отлично! вот именно EXIT; и redirect() не работают! хочу напомнить, что у меня в этом скрипте идет обработка закачиваемого файла который передается в этот скрипт формой! у меня подозрение что вся проблема в нем! есть какая либо функция - не принимать файл ??? если я сделаю этот же скрипт в обычном чистом CGI-файле, то все условия выполняются! и редирект работает! =) в чем же все таки подвох???????  
PM MAIL   Вверх
nitr
Дата 24.4.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Код
#!/usr/bin/perl -w
use strict;
use CGI qw(redirect);
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $cont = $ua->get('http://gigauploader.com/proverka_users.php')->content;
if ($cont eq '12345')
{
   print redirect('http://ya.ru');
   exit;
}


результат:
Код
Status: 302 Moved
Location: http://ya.ru
 
 

Это сообщение отредактировал(а) nitr - 24.4.2006, 00:13


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


Новичок



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

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



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


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

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


 




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


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

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