gpt4 book ai didi

testing - 在没有服务器的情况下运行 cgi 程序

转载 作者:行者123 更新时间:2023-11-28 20:58:01 25 4
gpt4 key购买 nike

是否有一个工具可以给出一个cgi程序,参数(查询字符串、方法、要上传的文件等)会设置正确的环境变量,并执行这个程序(用或没有调试器。

像这样的东西 perl脚本,只是更扎实,输出和输入更清晰,支持文件等。

最佳答案

嗯,一个新的开源项目从这个问题中诞生了。我正在从 here 复制我的答案.

如果你只是想看看你的 CGI 运行,你可以使用我的小 runCGI项目。

你只需要设置一个看起来像这样的yaml文件

_exec: /var/cgi-bin/myfile.cgi
method: GET
query_string:
q: s

然后运行

./runCGI myyamlfile.yaml

您将在控制台的标准输出中看到输出。

你甚至可以用gdb调试它,调试runCGI gdb runCGI,用正确的参数运行(run someyaml.yaml),issue tcatch exec(tcatch 只捕获一次)然后在你的 CGI 文件中设置断点:

$ g++ a.cc -o a.out
$ cat a.yaml
method: GET
_exec: a.out
$ gdb runCGI
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
(gdb) tcatch exec
Catchpoint 1 (exec)
(gdb) run a.yaml
Starting program: /home/elazar/runCGI/runCGI a.yaml
Executing new program: /home/elazar/runCGI/a.out
0x00007fc3a24a6a60 in ?? () from /lib64/ld-linux-x86-64.so.2
(gdb) tbreak main
Breakpoint 2 at 0x400577: file a.cc, line 2.
(gdb) c
Continuing.
main (argc=1, argv=0x7fff14891408) at a.cc:2
2 int a =0;
(gdb)

关于testing - 在没有服务器的情况下运行 cgi 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com