欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

!c语言写的cgi 跳转到另外一个网页

更新时间: 2014-01-05 02:03:26 责任编辑: Author_N1

 

求助!c语言写的cgi 跳转到另外一个网页
在boa服务器下,写一个cgi要求能读取本地配置文件里的一个地址,然后将网页重定向到该地址上去,让我困惑的是程序这样写
char ip[]="192.168.1.230/Main.html";
sprintf(buf, "<script>window.setTimeout(\"location.href = 'http://%s'\", 1000);</script>\n", ip);
就能够跳转到192.168.1.230/Main.html,但是当我读取本地配置文件的ip,再跳转却发生如下错误:
502 Bad Gateway
The CGI was not CGI/1.1 compliant.
程序是这样写的:
FILE *fp;
int w;
char ip[50];
fp=fopen("/www/ip.cfg" , "r");
fgets(ip,50,fp);
w=strlen(ip);
char ipip[w+1];
strcpy(ipip,ip);
ipip[w]='\0';
fclose(fp);
char *buf;
sprintf(buf, "<script>window.setTimeout(\"location.href = 'http://%s'\", 1000);</script>\n", ipip);
ps:ip.cfg文件里只有一行ip地址,后面没有空格或回车其他的,我测试过能把该地址读出来,但就是不明白为什么在cgi中会产生上面的错误。
请各位高手不吝赐教,小弟万分感谢!!

------最佳解决方案--------------------
CGI执行错误。LZ要提高C基础。

1. 野指针:char *buf;
2. 没有输出到标准输出:你打印到buf中去了,哪会输出到屏幕呢?

把sprintf(buf, "<script>window.setTimeout(\"location.href = 'http://%s'\", 1000);</script>\n", ipip);

改成
printf("<script>window.setTimeout(\"location.href = 'http://%s'\", 1000);</script>\n", ipip);
------其他解决方案--------------------
谢谢楼上
------其他解决方案--------------------
学习学习学习学习学习
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:03:26
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5116/
本文WWW.DOC100.NET DOC100.NET版权所有。