bash cgi程序输出

时间:2014-03-05 23:20:51

标签: bash shell cgi output

我有一个程序可以吐出PNG图像的纯字节。我一直试图用bash cgi脚本附加这个输出,该脚本吐出一个简单的html网页,附带作为数据的程序输出。

#!/bin/bash
parm=($QUERY_STRING) # capture the query string (from url)
output=$(java -jar Program.jar $parm) # capture the bytes of the PNG image
len=${#output} # figure out the size of the png image

# simple web page with png image
resp="HTTP/1.1 200 OK\r\nContent-Type: image/png\r\nConnection: close\r\nContent-Length: $len\r\n\r\n$output"

echo -en $resp # cgi teleport that hogwash out

如果我通过TCP将请求传递给中间服务器程序,但这样做的缺点是我必须运行一个单独的服务器程序来将cgi脚本链接到程序。

谢谢你的帮助!

[编辑]

啊,我已经弄明白了。它很简单如下:

echo "HTTP/1.1 200 Ok"
...
java -jar program.jar @parm

1 个答案:

答案 0 :(得分:0)

啊,我已经弄明白了。它很简单如下:

echo "HTTP/1.1 200 Ok"
...
java -jar program.jar @parm

(程序将数据(图像的字节)输出到std out。当我在bash的“echo”中包装时,它似乎将字节包装成一个字符串。