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


Автор: r 27.10.2004, 00:43
Этот греб. скрипт не показывает страницу, просто голое поле.
В логах пусто, Ось ХР, гружу на хостинг Windows Commander'ом как ASII,
права на каталог и скрипт -755. Может IE глюкает?

Код
#!/usr/bin/perl
use CGI qw(param);
use LWP::Simple;
$gg=param(nnn);
if($gg){
print "Content-Type: text/html; charset=windows-1251\n\n";
print<<TXT;
<form method='GET' action='http://www.whereis/cgi-bin/open_html.pl'>
<input type='text' size='157' name='nnn'>
</form>
TXT
$filtr=get("$gg");
$filtr=~s/<img(.+)">/ /i;
print "$filtr";
exit(0);
}
else
{
print "Content-Type: text/html; charset=windows-1251\n\n";
print<<TXT;
<form method='GET' action=''http://www.whereis/cgi-bin/open_html.pl''>
<input type='text' size='152' name='nnn'>
</form>
TXT
exit(0);
}

Автор: GoodBoy 27.10.2004, 10:10
Вроде должен работать... На всякий случай попробуй вот так:

Код
#!/usr/bin/perl
use CGI qw(param);
use LWP::Simple;
$gg=param("nnn") || '';
print "Content-Type: text/html; charset=windows-1251\n\n";
if($gg) {
       print <<TXT;
       <form>
       <input type='text' size='157' name='nnn'>
       </form>
TXT
       $filtr=get($gg);
       $filtr=~s/<img[^>]+>/ /i;
       print $filtr;
} else {
       print <<TXT;
       <form>
       <input type='text' size='152' name='nnn'>
       </form>
TXT
}


кстати, если ты его запускаешь под Вин ХР, то первая строка должна быть путём к Перлу на этой машине... Т.е. вместо #!/usr/bin/perl что-то типа: #!c:/perl/bin/perl

Автор: Forza 27.10.2004, 12:41
Я думаю, что раз в логах пусто, проблема не в тексте скрипта, в обращении к нему.

Неужели даже в access.log ничего нет? :omg

Автор: korob2001 27.10.2004, 21:56
У сервера какая ось?

Автор: r 27.10.2004, 22:10
Привет Всем кто откликнулся на призыв о помощи.
В первом случае в скрипт вставил вызов оного и
загрузив на хост запустил, та же история.
Во втором случае, в access код-200, а вот в error
появилась ошибка что такого-то файла в ../www с расширением .ico
не существует, но я думаю это админ подгружает всякие
банеры на stdout, расплата за халяву. Спасибо.

Автор: r 27.10.2004, 22:16
Не знаю, но перл точно есть.
Попробуй...
http://www.vino-vody.h12.ru/cgi-bin/op.pl

Автор: GoodBoy 28.10.2004, 10:00
А что должно произойти??? ны приходит мне страница, на которой баннер и вот такой код:
Код
<form method='GET' action='http://www.vino-vody.h12.ru/cgi-bin/op.pl'>
<input type='text' size='152' name='nnn'>
</form>

Автор: korob2001 28.10.2004, 18:27
Цитата

Не знаю, но перл точно есть.

Для того что бы узнать какая OS на сервере, воспользуйся переменной $^O или просто сохрани на сервер этот код, а затем запусти его в браузере:
Код

print "Content-type: text/html\n\n";
print "<html><head><title>OS Type</title></head>";
print "<body><center><b>";
print "OS сервера: <font color='#aa0000'>$^O</font>";
print "</b></center></body></html>";

Попробуй изменить значение атрибута action тега <FORM>. Примерно так: /cgi-bin/op.pl, не нужно указывать полный путь.
И ещё где в твоей странице теги <HTML><HEAD><BODY></HEAD></BOBY></HTML>?

Автор: r 31.10.2004, 13:31
Цитата(GoodBoy @ 28.10.2004, 10:00)
А что должно произойти??? ны приходит мне страница, на которой баннер и вот такой код:
Код
<form method='GET' action='http://www.vino-vody.h12.ru/cgi-bin/op.pl'>
<input type='text' size='152' name='nnn'>
</form>

Привет дружище, рад что ответил.
Если посмотреть в начало вопроса, там есть
скрипт, посмотри внимательно, если запустить
скрипт то он вышлет тебе форму(про банер промолчу это дело рук админа) и если вбить в строку формы адрес http://www.yandex.ru/ то получишь
эту страницу, там дальше стоит код который вырезает из html документа
картинки,я ещё до конца не доделал, но дальше думаю вырезать ещё и java,ссылки на картинки и многое другое, что-то вроде файервола в Инете, плюс анонимность. Дело в том что я выхожу в Инет через мобилу,
и траффик мне лишний ни к чему(банер правда ни к селу ни к городу).
Так вот скрипт не пашет, и я не знаю почему. Спасибо.


Автор: r 31.10.2004, 13:34
Привет Всем, спасибо за помощь, в ближайшее время я обязательно
воспользуюсь вашими советами в частности про html теги. Но у меня
возник вопрос.

###############################################
Попробуй изменить значение атрибута action тега <FORM>. Примерно так: /cgi-bin/op.pl, не нужно указывать полный путь.
################################################

Допустим скрипт заработал, он проверил параметр nnn, и обнаружив
что он пустой вывалил форму, в этой форме адрес скрипта, и если я
забью туда данные и отошлю обратно то куда отправятся мои данные?

И ещё, вопросик так для расширения кругозора, а при чем тут ось?
Там-же перл установлен. Правда я еще многого не знаю.
Спасибо.

Автор: korob2001 31.10.2004, 17:38
Цитата

И ещё, вопросик так для расширения кругозора, а при чем тут ось?

Пути разные. И если разрабатываешь под виндой, а затем переносишь на сервер под Linux, как правило нужно изменять пути.

Автор: r 21.11.2004, 19:40
Вот наконец-то сообразил полазить по сайту, исходящие коннекты запрещены.
Спасибо всем кого отвлекал.

P.s. Кстати, никто не знает какой-нибудь хостинг с перлом, бесплатный, могу покодить чо-нибудь несложное.

Автор: GoodBoy 22.11.2004, 13:12
Цитата(r @ 31.10.2004, 13:34)
Допустим скрипт заработал, он проверил параметр nnn, и обнаружив что он пустой вывалил форму, в этой форме адрес скрипта, и если я забью туда данные и отошлю обратно то куда отправятся мои данные?

если в тэге <FORM> не указан action="...", то скрипт отправит данные туда, откуда он получил страницу... И если ты его вызвал с http://www.vino-vody.h12.ru/cgi-bin/op.pl, то при субмите запрос от браузера туда же и отправится!!!

Автор: r 10.12.2004, 23:15
Спасибо, не знал.

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