boa服务器的400 Bad Request问题。

lu_k120 2016-12-23 09:48:38
“400 Bad Request
Your client has issued a malformed or illegal request.”
我在linux_arm上配置了boa 服务器,其主目录为/var/www/,cgi-bin目录为/var/www/cgi-bin,
cgi程序是:
#include<string.h>
#include <stdio.h>
#include <stdlib.h>
#include<fcntl.h>
#include "cgic.h"

int cgiMain(void)
{
FILE *fp_html;
char buf[512]="";
printf("%s\r\n\r\n","Content-Type:text/html");
char *len = getenv("CONTENT_LENGTH");
if( (fp_html = fopen("B_Exhibition_html","r")) == NULL)
{
exit(1);
}
while(fgets(buf,512,fp_html))
{
printf("%s",buf);
}
return 0;
}
我写了一个html网页,名称为B_Exhibition.html修改为B_Exhibition_html,将它和编译好的cgi文件放在目录/var/www/cgi-bin/cgi-html中,在html中有代码:
<form method="post">
................................
<input type="submit" value="save1" />
</form>
功能是实现点击save按钮,将form中设置好的功能提交给cgi程序然后cgi程序解析做处理(还没写上去)
问题如下:
首先,我在浏览器上直接输入调用这个c脚本,输出结果正常,即浏览器输入192.168.1.19/cgi-bin/cgi-html/B_Exhibition.cgi,浏览器可以显示正常的输出结果
但是当在浏览器中点击save按钮,出现了如下错误:
"400 Bad Request
Your client has issued a malformed or illegal request. "

关键是我用上面的方法已经实现了两次了,post下来的数据我得到了,然后输出也正常,但是改到这个程序时就突然出现问题了,感谢帮助
...全文
662 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lu_k120 2016-12-23
  • 打赏
  • 举报
回复
通过在googl浏览器上调试,发现点击save后,是打开的原网页http://192.168.1.19/cgi-bin/cgi-html/A_Exhibition.cgi 这时出现错误,如果在原网页的基础上输入一个?,如:http://192.168.1.19/cgi-bin/cgi-html/A_Exhibition.cgi?,就可以成功显示了,submit按钮以post方式提交会在网页路径后加上?,继续解决
lu_k120 2016-12-23
  • 打赏
  • 举报
回复
我将B_Exhibition.html文件放在windows下面运行,点击save按钮,刷新一遍后可以得到原网页,但是放在boa服务器上面不行,然后我将上面form中的post改为get后,上面的cgi程序也可以运行了,点击save按钮,刷新一遍后得到原网页,请问一个为什么post方式就会出错?请求解答,可能问题比较简单,但是实在是初学,谢谢大家了
  • 打赏
  • 举报
回复
你要在linux上搞webserver?直接移植开源的就好,不少这方面的资源。 不清楚你save具体要干什么,说不清楚。 提交数据get,post都可以,如果有什么复杂的要求,直接用js写,然后html调用。 没搞懂你为啥要post前get啥。
lu_k120 2016-12-23
  • 打赏
  • 举报
回复
在谷歌上搜索找到了这个: 所有HTTP / 1.0 POST请求都需要有效的Content-Length。如果HTTP / 1.0服务器无法确定请求消息内容的长度,那么它应该使用400(错误请求)消息进行响应。 解决方法: 1.将表单方法从POST(struts默认设置)更改为GET,IE的GET URL限制为2038字节 2.在执行POST操作之前发送GET 第一个方法我可以用,第二个方法没试过

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧