проблема cgi - PullRequest
       52

проблема cgi

0 голосов
/ 11 июля 2020

Я пытаюсь использовать cgi для перехода из программы python3 и программы php (joomla 3.86 на raspberry), следующая простая программа в порядке, и при запуске из localweb открывается страница html.

#!/usr/bin/python3


import cgi

print("Content-type: text/html\n\r\n")
print()

print("essai print")"""

, но когда я пытаюсь запустить следующую программу formtest.py (в конечном итоге я хочу сделать это с помощью программы php) #! / Usr / bin / python3

import cgi

print("Content-type: text/html")
print()
print("<html>")
print("<FORM ACTION="192.168.4.1/cgi-bin/echo.py" METHOD="POST">")
print("<INPUT TYPE="submit" NAME="send" VALUE="Exécuter le script"></FORM>")
print("</html>")

, где echo.py также прост и работает самостоятельно при запуске с локального сайта (все программы помещаются в www/cgi-bin/)

#!/usr/bin/python3


import cgi

print("Content-type: text/html\n\r\n")
print()

print("essai print")

Я получаю следующую ошибку (видно из etc / apache2 / error log ):

Sat Jul 11 11:45:48.291525 2020] [cgi:error] [pid 17883] [client 192.168.4.1:49084] AH01215:   File "/var/www/cgi-bin/formtest.py", line 8: /var/www/cgi-bin/formtest.py
[Sat Jul 11 11:45:48.291773 2020] [cgi:error] [pid 17883] [client 192.168.4.1:49084] AH01215:     print("<form action="echo.php" method="POST">"): /var/www/cgi-bin/formtest.py
[Sat Jul 11 11:45:48.291830 2020] [cgi:error] [pid 17883] [client 192.168.4.1:49084] AH01215:                             ^: /var/www/cgi-bin/formtest.py
[Sat Jul 11 11:45:48.291882 2020] [cgi:error] [pid 17883] [client 192.168.4.1:49084] AH01215: SyntaxError: invalid syntax: /var/www/cgi-bin/formtest.py
[Sat Jul 11 11:45:48.317873 2020] [cgi:error] [pid 17883] [client 192.168.4.1:49084] End of script output before headers: formtest.py

Я пробовал все комбинации с кодом html и без него, разные адреса для echo.py (cgi-bin / formtest.py, 192.168.4.1/cgi-bin/ и т. Д. Я удалил либо строка действия формы или строка ввода и получил ту же неприятную ошибку

Странно, потому что я видел по крайней мере 2 сайта, показывающих эту ссылку действия формы с python3 и cgi, указывающими на программу .py. Следующий вопрос если вы можете решить мою проблему, могу я o это с программой PHP?

большое спасибо, что заинтересовались моей проблемой

Bernard

1 Ответ

0 голосов
/ 15 июля 2020

Я нашел решение: просто поместите весь код html под тот же отпечаток, используя "" "

#!/usr/bin/python3


print("Content-type: text/html")
print("""
<FORM ACTION="echo.php" METHOD="post">
<INPUT TYPE="submit" NAME="send" VALUE="Action">
</FORM>
""")

, а программа, указывающая на, может быть .py или. php

надеюсь, что однажды это поможет кому-то

Бернард

...