我有 Jetty Web 服务器,我想从中运行 hgweb.cgi:
ProcessBuilder builder = new ProcessBuilder("/MyPath/hgweb.cgi");
然后我创建Process process = builder.start();
并提供来自请求的输入流以处理形成服务器响应。但是有一个问题:某种我无法理解的python错误
File "<stdin>", line 1, in <module>
File "mercurial/hgweb/wsgicgi.py", line 76, in launch
content = application(environ, start_response)
File "mercurial/hgweb/hgweb_mod.py", line 168, in __call__
return self.run_wsgi(req)
File "mercurial/hgweb/hgweb_mod.py", line 177, in run_wsgi
req.url = req.env['SCRIPT_NAME']
KeyError: 'SCRIPT_NAME
这也不适用于命令行。我尝试将标头 (SCRIPT_NAME, "") 添加到形成的 hgweb.cgi 请求中,但继续查看该消息。
在使用 hgweb 的每个示例中,人们都使用apache / lighttpd / nginx服务器来运行hgweb.cgi,我不明白为什么 nodody 做了我想做的事。
如果有人可以帮助我配置hgweb.cgi或告诉我从 java 调用.cgi脚本的正确方法,我将非常高兴!