2012年9月9日星期日

打印自身的 CGI 脚本

有的时候在网络上面分享一个文本,是 UTF-8 编码,可惜浏览器默认用 ISO-8859-1 或者 GBK 来解码,这个时候可以把以下两行放在文本最前面,赋予文本可执行权限,并允许服务器执行 CGI:
#!/bin/bash
if [ "$HTTP_IF_MODIFIED_SINCE" ];then if [ "$(date -u -d "$HTTP_IF_MODIFIED_SINCE" +%s)" -ge "$(stat -c %Y "$0")" ];then echo 'Status: 304 Not Modified';echo;exit 0;fi;fi;echo 'Status: 200 OK';echo 'Content-Type: text/plain; charset=utf-8';echo "Last-Modified: $(date -R -u -d @$(stat -c %Y "$0"))";echo "Content-Length: $(tail -n +3 "$0"|wc -c)";echo;exec tail -n +3 "$0"

3 条评论:

  1. 我还以为是这种呢——http://luy.li/2009/09/29/quinerelay/
    PS: 中文浏览器默认是 GBK 或者 UTF-8。

    回复删除
    回复
    1. 其实我只是贴了一个 UTF-8 的文本,但是别人说访问是乱码。
      所以就这么解决了。
      不想弄成 HTML,就纯文本不错。

      删除