1
ysc3839 2019-10-06 23:12:56 +08:00
telnet 测试?应该是用浏览器吧?
没记错的话 macOS 自带 Apache,改一下配置就能跑 CGI 程序了。 |
2
wdlth 2019-10-06 23:15:46 +08:00
GDB 远程调试?
|
3
GTim 2019-10-07 07:35:03 +08:00 2
macOS 自带的 apache 就可以了。默认情况下是开机自动启动,如果不是的话也不用着急,可以使用下面的命令
sudo apachectl start 如果要停止,可以使用下面的命令 sudo apachectl stop 如果要重启,则可以使用下面的命令 sudo apachectl start 而且默认已经开启了 cgi 支持了,你只需要将 cgi 程序放在 /Library/WebServer/CGI-Executables 而访问路径则是 http://localhost/cgi/filename.cgi 对了,Apache 的配置文件在下面的目录中 /etc/apache2/ |
4
banxi1988 2019-10-07 07:36:29 +08:00
C 写的服务端程序应该能自己跑起来,而不用再使用其他服务器了.
测试直接就用浏览器或 curl 来测试了. 调试的话当然就用 lldb, 或 gdb 了. |
5
b00tyhunt3r OP @GTim
感谢大佬指点 小心心献上!!!!!!!! 不过我太小白了,仍然遇到一些问题 我的 CGI 是用 C 语言写的,有两个输入参数,运行效果是求和。文件名为 sum.c,我把这个文件拖入 /WebServer/CGI-Executables, 启动 apache,并测试成功后(浏览器访问 localhost 显示 it works !)用 vi 修改配置文件 https.conf 增加.c 后缀支持 ``` AddHandler cgi-script .cgi .c ``` 开始实测我的 sum.c 程序。 然而不管是在 safari 里测试: 访问 localhost/cgi-bin/sum?123&456 本应显示 123+456=579 结果 404 Not Found The requested URL /cgi-bin/sum was not found on this server. (地址加上 sum 后加上".c"后缀倒是找到文件了,直接打印源代码给我看。。) 还是在 telnet 里测试: telnet localhost 80 GET /cgi-bin/sum?123&234 HTTP/1.0 运行结果: 400 Bad Request, <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand<p> 请问究竟是哪里出了问题? |
6
b00tyhunt3r OP *更正
(地址中 sum 的后面加上".c"变成 localhost/cgi-bin/sum.c?123&456 后缀倒是找到文件了,直接打印源代码给我看。。) |
7
GTim 2019-10-07 17:04:20 +08:00 1
@b00tyhunt3r 稍等,我写一个范例给你
|
8
GTim 2019-10-07 17:34:28 +08:00 1
|
9
b00tyhunt3r OP @GTim
大佬你好,编译后拖入 /WebServer/CGI-Executables,safari 访问 localhost/cgi-bin/sum?123&456 依然 Not Found The requested URL /cgi-bin/sum was not found on this server.😢😢😢 |
10
GTim 2019-10-07 18:52:32 +08:00 1
+QQ 1464239691 私聊
|
11
kajweb 2019-10-08 09:21:06 +08:00 via Android
|