我有一个小的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”)。
是否有可能在浏览器到达后立即向用户显示数据?
答案 0 :(得分:2)
我相信你想要的是使用“html chunk编码”。这使服务器可以向浏览器发送一个可以开始渲染的HTML“块”。 ASP&每当您使用“Response.Write”时,ASP.Net都会为您解决此问题。
以下是一些参考资料:
答案 1 :(得分:1)
使用Wireshark。
答案 2 :(得分:0)
在对响应缓冲区写入足够的内容后使用Response.Flush()....