求助:想要输出到浏览器,效果却是下载该程序。

问题描述

环境是linux下,webserver使用的是thttpd,cgi程序使用c语言。预期目标为:某连接指向一个cgi程序,点击该连接效果为该cgi会调用execl执行另一个程序,将该程序执行结果输出到浏览器上。问题为:使用Content-Type:text/plain这个MIME头,在本机通过,用另一台机子测试结果为:chrome浏览器通过,而IE和firefox却是弹出下载该cgi的对话框。将MIME头改为Content-Type:text/html,都通过,但是html格式会去除多余空格和回车符,所以显示为乱码。更改cgi权限,加Content-Disposition:inline都试过均无效。当然也可能格式不对什么的。有知道怎么解决的,碰到过类似情况的,能给出解决方案绕过此bug的,小弟跪谢了,亲哥们。

解决方案

解决方案二:
对执行结果进行转义替换呗,空格用&nbsp;换,回车符用<br/>换。
解决方案三:
引用1楼theforever的回复:

对执行结果进行转义替换呗,空格用&amp;nbsp;换,回车符用<br/>换。

这个在html中使用<pre>标签就可以使其不除去多余空格和换行符。但是问题是执行另一个程序的结果,它是直接输出到了标准输出上,没法处理的。
解决方案四:
而那个程序是常驻进程的,一直执行,每隔三秒就会打印一些信息,要输出到网页。所以这个输出到文件再读出来处理好像也不太好弄。
解决方案五:
关于乱码,我的经验是统一使用utf-8首先,thttpd启动的时候设置为utf-8其次,在编写cgi的时候加入charset=“utf-8”最后在编辑网页以及cgi源文件的时候保存为utf-8格式

时间: 2024-12-27 04:40:20

求助:想要输出到浏览器,效果却是下载该程序。的相关文章

PHP实现即时将结果输出到浏览器

web开发中有没有碰到需要适时的将结果输出到浏览器页面而不刷新整个页面的需求呢?当你在处理一个过程需要耗时很长,但你又需要适时的知道程序当前的处理状况的时候,该怎么办呢?下面就分享一下如何使用php及时的输出当前结果到浏览器而不刷新整个页面的效果吧. 下面以一个简单的例子来说明这个问题.首先来看一段代码: <?php for($i=0;$i<10;$i++){ echo $i; sleep(1); } ?> 上面这段程序如果在PHP解释器中执行,每秒会输出一个数,和预计效果一样.但在浏览

XMLHTTP下载远程数据输出到浏览器

xml|浏览器|数据|下载   利用xmlhttp对象获取远程的数据,然后用二进制输出到客户浏览器,让客户下载数据,此例从某一远程服务器获取一个压缩包,并且输出到浏览器提供客户下载.   程序代码:  <%  Response.Buffer = True   Dim objXMLHTTP, xml  Set xml = Server.CreateObject("Microsoft.XMLHTTP") '创建对象      xml.Open "GET",&quo

手机网站上传图片-在手机网站内上传图片,使用 input type=&amp;amp;quot;file&amp;amp;quot; 的问题,不同手机浏览器效果不同。

问题描述 在手机网站内上传图片,使用 input type="file" 的问题,不同手机浏览器效果不同. 在手机端浏览器,测试opera.QQ.小米原生.安卓原生.iPhone原生.UC.(微信内应该是调用默认浏览器内核.) 只有QQ.UC和iPhone的浏览器正常执行,我用的 jQuery-File-Upload ,QQ和iPhone可以多选,UC只能一张张的单选. 其他浏览器再选中文件后,会打开一个新页面,之前父页面会刷新. 之所以没用微信内置调用图片的,因为我要传的图比较多.

初学者的忧伤-我想在非ie浏览器的页面中执行一个js,然后打开一个指定的ie页面

问题描述 我想在非ie浏览器的页面中执行一个js,然后打开一个指定的ie页面 ActiveX只有在ie中才能运行,我现在想在谷歌或者火狐浏览器网页中自动打开一个ie浏览器的指定页面,请问直接用js可以实现吗? 解决方案 [原创]在winform程序中实现在IE浏览器中打开一个新的页面,全屏化并屏蔽IE窗口的工具栏和地址栏 解决方案二: 没有这种办法.页面在哪个浏览器打开就会在哪个浏览器呈现,页面不属于任何一个浏览器专有.你要想支持activeX,就只能在IE浏览器中打开.

pc端用java swing写界面不大美观,如果想实现下图的界面效果,可以用什么写界面实现

问题描述 pc端用java swing写界面不大美观,如果想实现下图的界面效果,可以用什么写界面实现 解决方案 这个不是JAVA的强项. 不过AWT 可以试试看 解决方案二: jsp html 都可以吧.如楼上所言,awt也可以,不过自我感觉太麻烦,不如网页的好实现.你是c/s还是b/s呢? 解决方案三: 哦,那就是awt了.找美工做些图就好看了

求助. 想定义一个时间变量,EventTime,设其初值为0:12:383,即0分12秒383毫秒,怎么定义??

问题描述 求助.想定义一个时间变量,EventTime,设其初值为0:12:383,即0分12秒383毫秒,怎么定义?? 解决方案 本帖最后由 u010362303 于 2014-01-09 22:47:55 编辑解决方案二:定义.....解决方案三: 解决方案四:该回复于2014-01-09 23:10:27被版主删除解决方案五:这不是时间(DateTime),是时间间隔(TimeSpan).用TimeSpan类定义.解决方案六:TimeSpansp=TimeSpan.FromMillisec

网页效果-求助!网页广告轮播效果出问题了

问题描述 求助!网页广告轮播效果出问题了 我已经被这个问题困惑很久了,图片不是一张张的的过,是卡一半过,一张图它给我算两张过. 解决方案 http://zhidao.baidu.com/link?url=s0xsrW4opbOHGCoS1kOC_6VZp1nR97HYRLQEiYz-eY44yTitBQNqjSwWC5vEeR-SZDJskP11_aSYpr-H6a_XTPIRTK6Cdkp91nWKfnuOzRi 解决方案二: http://zhidao.baidu.com/link?url=

XMLHTTP下载远程数据输出到浏览器_XML/RSS

利用xmlhttp对象获取远程的数据,然后用二进制输出到客户浏览器,让客户下载数据,此例从某一远程服务器获取一个压缩包,并且输出到浏览器提供客户下载.   程序代码:  <%  Response.Buffer = True   Dim objXMLHTTP, xml  Set xml = Server.CreateObject("Microsoft.XMLHTTP") '创建对象   xml.Open "GET","http://www.4guysf

php读取图片内容并输出到浏览器的实现代码_php技巧

代码很简单,网上都能找到,但在我机子上就是显示不出来,显示出的一直是这个php文件路径, 费了点时间才搞定,原来是我的<?php这个标签前面有多的空格,删掉就ok了,细节问题,粗心得很,真的很无语. 网上查了下,有这样一说:如果php以图片,zip,exe等文件输出到浏览器,而前面还输出了其他字符,那就会是你看到的乱码.应该是输出图片前有输出空格或其他字符造成的,可以检查一下输出图片前有没有其他字符,如果是utf-8编码记得保存为无BOM的文件.相关代码如下: 复制代码 代码如下: class