免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3286 | 回复: 5
打印 上一主题 下一主题

linux下编写HTML时钟小程序,页面无法显示 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-19 00:08 |只看该作者 |倒序浏览
代码如下:
#!/usr/bin/perl -w

use strict;
use CGI qw(:push -nph);

$|=1;

print multipart_init;
while(1)
{
                                print multipart_start;
                                print "The time is <H1>", scalar(localtime),"</H1>\n";
                                print multipart_end;
                                sleep 2;
}
即实现两秒钟刷新页面一次,并显示时间。但是使用firefox无法显示,也不出现错误提示,状态一直在“载入中”,查了下apache错误日志:
[Sun Jul 19 00:04:52 2009] [error] [client ::1] malformed header from script. Bad header=HTTP/1.1 200 OK: time.cgi
麻烦大家看看是什么问题?

论坛徽章:
0
2 [报告]
发表于 2009-07-19 08:46 |只看该作者

回复 #1 bianjiang007 的帖子

我的使用的版本是v5.10.0 built for i486-linux-gnu-thread-multi
刚学习perl,很多问题不明白,希望得到大家的指教,谢谢了~

论坛徽章:
0
3 [报告]
发表于 2009-07-20 10:47 |只看该作者
Bad header=、、


一个HTTP响应,必须先打印必要的头部,然后输出2个换行后才能打印正文

你必须先print "Content-Type: text/html\n\n";

论坛徽章:
0
4 [报告]
发表于 2009-07-20 13:07 |只看该作者

回复 #3 xiaoshengcaicai 的帖子

print multipart_init;
这句貌似就是在告诉浏览器,随后是多部分的Web页,而不是通常的header吧?
通常的只要这样就可以了啊:print header;还是不太明白,难道和我的apache有关系么?
我的是Server version: Apache/2.2.11 (Ubuntu)

论坛徽章:
0
5 [报告]
发表于 2009-07-20 20:34 |只看该作者
一定要把head加上,网页才能正常显示
print header(-charset=>'gb2312');
print start_html;
放网页的html代码(不包括<html></html>)
print end_html;

论坛徽章:
0
6 [报告]
发表于 2009-07-21 11:46 |只看该作者

回复 #5 ykredrum 的帖子

可是我加上之后还是不行啊~~
错误如下:
Undefined subroutine &main::header called at /usr/lib/cgi-bin/time.cgi line 8.
[Tue Jul 21 11:45:46 2009] [error] [client ::1] Premature end of script headers: time.cgi
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP