+ -
当前位置:首页 → 问答吧 → boa服务器用调用C语言写的cgi程序 出现400 bad request,寻求解决

boa服务器用调用C语言写的cgi程序 出现400 bad request,寻求解决

时间:2010-07-29

来源:互联网

我在arm上配置了boa 服务器,其主目录为/www/,cgi-bin目录为/www/cgi-bin
我写了一个html网页,名称为callCgi.html,功能是实现点击form按钮,调用在cgi-bin下面的一个用c写好的输出“你好”的cgi程序,该脚本名称为hellorld.cgi。
问题如下:
首先,我在浏览器上直接输入调用这个c脚本,输出结果正常,即浏览器输入10.1.0.79/cgi-bin/helloworld.cgi,浏览器可以显示正常的输出结果
但是当在浏览器中用html的form调用时,就出现问题了,我在浏览器中输入10.1.0.79/callCgi.html,起内容可以显示,但是我点击call想调用c脚本的时候,出现了如下错误:
"400 Bad Request
Your client has issued a malformed or illegal request. "
请问大虾们这是什么问题呢?

附相关码如下:
callCgi.html代码:
<HTML>
<HEAD> 
<HEAD> 
<BODY> 
<FORM ACTION="/cgi-bin/helloworld.cgi" METHOD=POST> 
<INPUT TYPE=submit VALUE=call>
</FORM> 
</BODY> 
</HTML> 

helloworld.c的代码,经过交叉编译后生成helloworld.cgi:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;

printf("Content-type: text/html\n\n");

printf("<html>\n");
printf("<head><title>CGI Output</title></head>\n");
printf("<body>\n");

for(i=0;i<5;i++)
{
printf("<h1>Hello,world.</h1>\n");
}
printf("<body>\n");
printf("</html>\n");

exit(0);
}

作者: lxfjiangsu   发布时间: 2010-07-29

这个问题我修改好了,最后的结论是经测试,发觉BOA不支持POST请求,将POST修改为GET就可以运行了。
 大家指点下。怎么搞?到底是什么 原因。。怎么才能让他 支持POST???

作者: lxfjiangsu   发布时间: 2010-08-02