【发布时间】:2013-03-14 17:02:49
【问题描述】:
我有一个带有一个按钮的 html 文件。单击按钮时,将调用 javascript 函数“运行”:
function run() {
window.open("http://localhost/cgi-bin/run.py", "_self");
}
run.py 只是试图运行一个 helloworld.exe 程序,它在终端中输出字符串“helloworld”,但没有任何反应,并且浏览器会无限期地“等待 localhost”。
#!python
import sys, string, os, cgitb
cgitb.enable()
os.system("helloworld.exe")
我已经单独尝试了 helloworld.exe 并且可以正常工作,我已经在终端上运行 run.py,并且可以正常工作,并且我已经在浏览器上测试了测试站点 http://localhost/cgi-bin/helloworld.py,并且工作正常(helloworld.exe)。 py 是另一个脚本,只是为了查看我的 apache 是否配置正常)。
我正在使用 wamp。
我想做的是一个更大的程序,它允许客户端连接到服务器,并与服务器端的程序“交互”。该程序已经用 c++ 完成,不会被翻译成 php 或 javascript。
编辑:我一直在尝试使用以下功能:subprocess.Popen、subprocess.call 和 os.system。我还测试了运行我在 apache/cgi-bin 文件夹中创建的 .exe 文件或在 c:\windows 中运行的可执行文件(如 wordpad)的代码。当 python 脚本从终端运行时它总是成功,而从浏览器尝试时它永远不会工作。是否可能是因为我使用的服务器?我使用 wamp 的 apache,并在 httpd.conf 文件中添加了语句“AddHandler cgi-script .exe”。
【问题讨论】:
-
在您的 Javascript 代码中,您似乎在逗号前缺少了一个引号。
-
http://localhost/cgi-bin/helloworld.py或http://localhost/cgi-bin/run.py? -
谢谢,但是我把引号拼错了,也没有很好地解释我对 helloworld.py 的解释。现在认为已更正:)