-1

我有一个小的 cgi 脚本,用于获取和验证 Nagios 的配置文件。典型的运行时间是几分钟,我想在运行期间在浏览器中获得一些反馈。

为了说明我想要发生的事情,请考虑一下:

#!/bin/sh
echo "Content-type: text/plain"
echo

for i in A B C D E
do
        echo $i
        sleep 10
done

当我通过 telnet 或 wget 在此脚本上执行 GET 时,输出一次一行,间隔十秒(“A”...“B”...“C”...等等) .

当我尝试在普通浏览器中打开它时,浏览器似乎将其全部缓冲并在脚本完成时显示输出(50 秒的静默......“ABCDE”)。

是否可以让浏览器在数据到达后立即将其呈现给用户?

4

3 回答 3

2

我相信您想要的是使用“html 块编码”。这让服务器可以向浏览器发送一个它可以开始呈现的 HTML“块”。每当您使用“Response.Write”时,ASP 和 ASP.Net 都会为您解决这个问题。

以下是一些参考资料:

于 2009-05-28T20:58:53.803 回答
1

使用Wireshark

于 2009-05-28T19:55:55.960 回答
0

在向响应缓冲区写入足够多的内容后使用 Response.Flush()....

http://www.stephanunrau.com/

于 2009-09-24T13:07:19.727 回答