问题标签 [cgi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
web-services - 如何模拟挂起的 Web 服务?
我正在尝试测试与 Web 服务交互的软件的故障模式,并且我已经报告了如果软件没有得到及时响应(例如,它等待一分钟或更长时间)就会出现问题的问题. 我想对此进行模拟,以便我可以自己追踪并修复问题,但拔掉网络连接并不能解决问题,因为它会立即返回而找不到路由。
我想知道的是,有没有一种简单的方法可以制作一个接受连接但只是坐在那里的 CGI 脚本,让连接保持活动几分钟,而无需执行某种while (true) {}
循环?
python - Web服务器的.cgi问题
我将它作为 test.cgi 保存到我的网络服务器。我通过 www.mysite.com/test.cgi 运行它没有成功
你怎么能解决这个问题?
[编辑]在第一个答案之后
- test.cgi 是可执行的(我运行 $ chmod +x test.cgi)
- 我使用阿帕奇。
- 我在 .bashrc 中有这个 export PATH=${PATH}:~/bin
- Python 模块 MySQLdb 已安装。
- 该代码没有智能引号。
[编辑]在第二个答案之后
您收到该错误是因为您尚未安装 Python 需要与 MySQL 数据库通信的 MySQLdb 模块
我将 MySQLdb 安装到我的系统中。该模块有效,因为我可以导入它们。但是,当我访问 www.[mysite].com/test.cgi 时,我仍然遇到同样的错误。
[编辑]
我不确定这些问题
connect() 参数是否正确?MySQL 是否在默认端口的 localhost 上运行?
我在我的服务器上运行 MySQL。关于 connect() 参数的问题在这里是否相关?
SELECT 语句是否正确?
你的意思是我的 SELECT 语句等 SQL 语句是否正确?我还没有使用任何 SQL 查询。我在这里需要它们吗?
python - Web 环境中的文件访问权限提升
我有一种情况,我想提升我在 Web 环境中的权限,以便我可以访问串行设备。
具体情况是我有一个用于配置调制解调器的 Web 界面/dev/ttyUSB[0-9]
。
最终用户将插入零个或多个调制解调器。我正在编写一些软件,该软件能够通过/sys/devices
使用一些 AT 命令读取和与调制解调器交谈来辨别哪个是 USB 无线调制解调器。
我希望能够打开设备并执行以下操作:
问题在于这样pyserial
做:self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)
打开 portstr 所在的串行端口,/dev/ttyUSB0
但它nobody
是以非特权用户身份进行的。
此系统上的串行端口归 root:uucp 所有,并设置为 0660(即rw-rw----
)。
对于用户(例如nobody
应该拥有尽可能少的权限)在 dev 中打开文件的用户来说,最好的方法是什么?
我会考虑的想法:
- 使用
sudo
. - 更改文件的权限
/dev/
(感谢有关如何使用 udev 正确执行此操作的说明!) - 使用我没有考虑过的其他 API 或软件。
php - 为什么要避免使用 LAMP 托管的 Python 的 CGI?
我已经使用 PHP 多年了。最近我看到很多论坛帖子说PHP 已经过时,现代编程语言更容易、更安全等等。
所以,我决定开始学习 Python。由于我习惯使用 PHP,因此我刚开始通过上传 .htaccess 文件来构建页面:
然后,我的示例页面如下所示:
这工作正常。但是,我在一篇文章中看到一条评论说CGI 不是使用 Python 的最佳方式。当然,它没有提到什么是最好的方法。
为什么使用 CGI 不是使用 Python 的最佳方式?什么是替代方案?
有没有其他方法可以建立一个简单的 Python 站点?我应该在 .htaccess 和 .py 文件之外查看一些完全不同的范例吗?
有关的
php - 无法从 PHP Fedora 10 调用系统命令和 shell 脚本
我正在开发一个通过 PHP 和 Apache 在 Fedora 10 机器上本地运行的应用程序。这取决于在后台运行的进程。
高层希望能够通过浏览器启动/停止/重新启动该过程。我试图通过让 PHP 使用 exec() 和 shell_exec 调用系统来使其工作,但它似乎不起作用。
当我尝试使用“exec('processName')”启动进程时,什么也没有发生。
当我尝试使用“exec('killall processName')”时,SELinux 开始不断弹出该进程被允许的警告(因为我将其置于允许模式),但它实际上并没有杀死该进程!但这似乎在页面完全加载后仍然存在!?!?
我能够以类似的方式调用另一个脚本:“exec('/var/www/cgi-bin/ControlProgram START')”。所以我不太确定这两个调用/命令之间的主要区别是什么。
我还将脚本调用放入 /etc/rc.local 文件中,以使脚本在登录时运行。但是,我是否能够从 PHP 中删除该脚本,因为它是由...系统运行的?
在权限/SELinux 方面,我不是专家,所以不要吝啬血淋淋的细节!提前致谢!
apache2 - Windows/Apache2.2环境下的Windows loginID帮助
我真的可以使用一些帮助来解决看似微不足道的问题。总之,我想知道在 Windows 环境中访问在 Apache 中运行的 Perl .cgi 的用户的 Window 登录 ID。
这是我的基本 Apache2 conf 添加:
---- 开始 httpd.conf -----
---- 结束 httpd.conf -----
此外,我还使用以下出色说明在我的机器上启用了 SSL:http: //tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup.html#tsvn-serversetup-apache-7
上面的站点要求加载 Apache 模块 mod_auth.so,但我在我的默认 Apache2 安装中找不到它。此外,如您所见,我已将 mod_auth_sspi-1.0.4-2.2.2 模块手动添加到我的 Apache2 环境中。
现在,当我同时尝试http://localhost/cgi-bin/test.cgi和https://localhost/cgi-bin/test.cgi时,我在 http/ 中看不到 REMOTE_USER 的任何内容环境变量。我知道 SSL 正在工作,因为 https 调用显示了大量 SSL 变量。另外,我对 SSL 没有要求,但我只使用它,因为上面的链接说它是获取 Windows 登录信息所必需的。
我真的很感激任何见解。如果有帮助,我很乐意完整分享 httpd.conf 文件。基本上,重申一下,我正在寻找的只是一种在 Windows/Apache2.2 托管环境中捕获我的 Perl .cgi 中的 Windows loginID 的方法。
非常感谢大家的帮助,
猎犬加尼
python - 我可以同时为 Windows 和 Linux 平台编写 Python Web 应用程序吗?
我可以编写可以在 Windows(IIS Web 服务器)和 Linux(Apache 或 lighttpd)上托管的 Web 应用程序而无需任何更改吗?
电脑动画?也许有什么新东西?WSGI | 快速CGI ?
web-services - 需要具有某些特定条件的 http 服务器
我一直在为我的项目寻找网络服务器,但我无法满足自己。我需要一个支持 Windows 编译 CGI 脚本 (exe) 的 http 服务器,并且必须能够使用相对路径。如果服务器可以尽可能小/轻量级,那将是一个额外的好处。
到目前为止,我的搜索中最难的部分是找到一个支持 CGI 和相对路径支持的服务器。当我说相对路径时,我指的是服务器根目录。我希望能够将它与我的项目一起打包,因此 conf 文件中的路径不能是绝对的。
我唯一满足所有标准的是Abyss Web,但他们的许可证是专有的,仅供个人免费使用。
编辑:我在我的方式中发现了错误。我在根目录下通过 cmd 启动了这个过程。因此,apache 在 conf 中使用的相对路径是相对于我在根目录下的位置。通过更改到根目录并在那里运行进程,一切都像 gbjbaanb 提到的那样工作。但我想我的问题的上下文可能仍然有效。如果我要在我的程序(C# .NET)中将服务器作为进程运行,那么“当前目录”会是什么?我是否必须确保在启动之前更改了当前目录环境变量?
php - 网站的 SQL 数据库存储有哪些替代方案?
如果您的存储需求很小,那么 SQL 数据库就显得多余了。当我年轻而愚蠢的时候,我使用了一个文本文件,并在需要访问它时对其进行了flock()。这无法扩展,但我仍然觉得非数据库解决方案在 Web 2.0 中已被完全忽略。
有人不使用 SQL 数据库进行存储吗?有哪些替代方案?
perl - 如何减少 Perl CGI 脚本的启动时间?
我正在开发一些 CGI 脚本,并试图找到一种解决方案来减少当我导入大量带有“使用”的模块时产生的“启动时间”。
更新:
提供的解决方案很好,但我正在工作的脚本在控制台和 CGI 模式下运行,检查是否存在一些典型的 HTTP 环境变量。
在“控制台模式”中,它们“正常”转储数据,在“html 模式”中,它们进行一些实时替换并将其他 HTTP 标头发送到客户端。
我想在这两种情况下改善启动时间。