У меня есть html-файл с одной кнопкой. Когда кнопка нажата, Javascript функция «запуска» называется:Запустите файл .exe с помощью скрипта CGI python
function run() {
window.open("http://localhost/cgi-bin/run.py", "_self");
}
run.py просто пытается запустить HelloWorld.exe программу, которая выводит на терминал строку «HelloWorld», но ничего не происходит , а браузер «ожидает локального хоста» бесконечно.
#!python
import sys, string, os, cgitb
cgitb.enable()
os.system("helloworld.exe")
Я попытался HelloWorld.exe в одиночку, и он работает, я запустить run.py на терминале, и он работал, а также я испытал на браузере испытательном полигоне http://localhost/cgi-bin/helloworld.py
, и он работал отлично (helloworld.py - это еще один скрипт, чтобы проверить, настроен ли мой apache OK).
Я использую wamp.
То, что я пытаюсь сделать, - это большая программа, которая позволяет клиенту подключаться к серверу и «взаимодействовать» с программой на стороне сервера. Программа уже выполнена в C++ и не будет переведена на php или javascript.
EDIT: Я пытался выполнять функции: subprocess.Popen, subprocess.call и os.system. Я также проверил код для запуска .exe-файлов, созданных мной, живущих в папке apache/cgi-bin или исполняемых файлов, таких как wordpad, живущих в c: \ windows. И всегда удается, когда скрипт python запускается с терминала, и он никогда не работает при попытке браузера. Возможно ли, что это из-за сервера, который я использую? Я использую apache из wamp и добавил предложение «AddHandler cgi-script .exe» в файл httpd.conf.
В вашем Javascript-коде вам, кажется, не хватает кавычки перед запятой. – cyroxx
'http: // localhost/cgi-bin/helloworld.py' или' http: // localhost/cgi-bin/run.py'? – Evert
спасибо, но у меня была ошибка с котировкой, и я не очень хорошо объяснил, что я могу сказать с helloworld.py. думаю, теперь исправлено :) – toni