【发布时间】:2017-12-23 05:57:52
【问题描述】:
我有一个 Perl 和一个 CGI 文件,我想通过它从数据库中获取数据。我有一个 UI,我正在尝试使用 AJAX 调用,该调用将访问 perl (.pl) 或 (.cgi) 文件并以 JSON 格式获取响应。我通过命令提示符运行检查了 perl/cgi 文件,它工作正常。这就是我在command prompt 中运行代码的方式:
D:\>PerlExecutables\strawberry_32\perl\bin\perl.exe C:\Users\UserXYZ\Desktop\PerlExamples\test.cgi
原因是我无法在我的机器上进行任何类型的安装,而且我不想通过像 Apache 或 IIS 这样的服务器运行它。
如何做到这一点?有什么方法可以通过传递perl.exe 执行路径或任何其他替代方法使脚本在 AJAX 中工作?
谢谢!
【问题讨论】:
-
如果你可以运行 Perl 并部署一个 CGI 脚本,你也可以部署一个 Perl 程序作为本地主机上的 web 服务器。肯定需要一个 HTTP 服务器,浏览器不允许你直接运行程序。
-
您可能想检查基于 perl 的 Web 服务器,mojolicious.org/perldoc/Mojo/Server/CGI
-
@Thilo 我找到了metacpan.org/pod/HTTP::Daemon,但如果您可以运行提供的示例,则每次 URL 都会不断变化
-
@Ashraf.Shk786:可以在构造函数中指定端口号。请参阅您链接到的页面上的示例。
-
我正在尝试将
use HTTP::Daemon用于服务器,一旦我从cmd运行文件server.pl,就会发生一些事情,使命令提示符不可编辑,我可能认为这是服务器启动。我还打印了用于调用该服务器的 url 和端口号。但是,当我尝试打开浏览器并运行带有端口号的 URL 时,我得到了Error 403 : The website declined to show this webpage。我错过了什么吗?