Как встроить CGI в HTML - PullRequest
       13

Как встроить CGI в HTML

3 голосов
/ 23 апреля 2010

У меня нет проблем с выполнением cgi-файла под обычным URL-адресом:

http://www.myhost.com/mydir/cgi-bin/test.cgi

Однако, когда я попытался встроить его в файл HTML (называемый index.html) следующим образом:

<HTML>
   <BODY>
   <P>Here's the output from my program:
   <FORM ACTION="/var/www/mydir/cgi-bin/test.cgi" METHOD=POST>

   <!-- This doesn't work also -->
  <!-- FORM ACTION="cgi-bin/test.cgi" METHOD=POST-->

   </FORM>
   </P>
   </BODY>
</HTML>

CGI не выполняется, когда я:

http://www.myhost.com/mydir/index.html

Файл CGI (test.cgi) выглядит просто так:

#!/usr/bin/perl -wT
use CGI::Carp qw(fatalsToBrowser);
print "Test cgi!\n";

Какой правильный способ сделать это?

Ответы [ 4 ]

2 голосов
/ 23 апреля 2010

Нет хорошего способа сделать это в HTML. Эта работа лучше подходит для SSI, использующей exec или виртуальную директиву .

2 голосов
/ 23 апреля 2010

Проблема заключается в пути, который вы указываете в свойстве action формы.

Вам необходимо изменить его на путь относительно текущего документа . (index.html)

Из вашего примера это выглядит так: cgi-bin/test.cgi

1 голос
/ 25 апреля 2010

Используйте шаблоны.Это плохая идея смешивать разные коды вместе.Даже JS и CSS отделены от (X) HTML для удобства чтения и обслуживания.

0 голосов
/ 23 апреля 2010

Вы пытались использовать iframe:

<HTML>
   <BODY>
   <P>Here's the output from my program:
   <iframe src="http://www.myhost.com/mydir/cgi-bin/test.cgi" />
   </P>
   </BODY>
</HTML>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...