gpt4 book ai didi

http - nginx + fcgi wrapper 偶发问题 : Delivers application/octet-stream instead of text/plain

转载 作者:可可西里 更新时间:2023-11-01 16:42:03 25 4
gpt4 key购买 nike

我是这个论坛的新手。这是我的第一个问题。

我有一个 nginx-server + fcgiwrapper 设置为根据用户请求运行程序(无 PHP)。

为了测试,我有一个简单的 bash 脚本,它显示环境变量并设置两个 cookie,第二个 bash 脚本将“Hello World”打印为 text/plain,另一个 bash 脚本将“Hello World”打印为 text/html .

另一个用 C 编写的程序应该从 stdin 读取文本,解析它并打印基于输入到 stdout 的文本,它应该在请求的网络浏览器中显示为文本/纯文本。 (请求浏览器需要使用 POST)。

但是有时它会将返回的文本显示为“text/plain”(它应该这样做),但有时浏览器想要下载返回的文本,就好像它是“application/octet-stream”一样。

但是,如果我在准备好的环境中测试 C 程序

Environment Variables:
CONTENT_LENGTH=30
REQUEST_METHOD=POST
HTTP_COOKIE=NAME=TEST; ID=200

它每次都有效,没有显示错误,并且在开始时打印:

Content-type: text/plain (plus two newlines)

我发现,根据内容的长度,它有时有效,有时无效。 (这仅在通过网络浏览器启动程序时发生。)在 Firefox 中,使用开发工具,我可以看到答案 Content-type 是

application/octet-stream

如果我保存它,结果是一个文本文件,其中包含应该直接显示在浏览器中的文本。我做错了什么?

编辑:我已经搜索过类似的问题但没有成功+ 所有其他事情都完美无缺+ 这也会发生在不同的浏览器上(顿悟、lynx、Windows 上的 Internet Explorer)

最佳答案

通过反复试验(使用 curl + firefox-dev-tools)我发现,字符

0x11

结合:内容类型:文本/纯文本
让 nginx 传递 Content-type: application/octet-stream

我不知道为什么会这样,但我发现 C 程序产生了错误,因为它打印了 0x11^Qdc1 。包含该字符的文件也会出现这种现象。

关于http - nginx + fcgi wrapper 偶发问题 : Delivers application/octet-stream instead of text/plain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30485603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com