小编Har*_*rsh的帖子

如何在 Ubuntu 16.04 上的 apache2 服务器上运行 python cgi 脚本?

我是新手,所以我看了一些教程。我有一个 python 脚本作为first.py

#!/usr/bin/python3 print "Content-type: text/html\n" print "Hello, world!"

我的电脑上有多个版本的 python。我无法找出启用 cgi 的目录,因此我将此代码粘贴到三个位置

  1. /usr/lib/cgi-bin/first.py

  2. /usr/lib/cups/cgi-bin/first.py

  3. /var/www/html/first.py

现在,当我在终端中运行此代码时,它工作正常,但是当我输入时

curl http://localhost/first.py

它只输出简单的文本并且不执行。

我已将所有权限授予first.py

我已通过命令启用并启动服务器

a2enmod cgi systemctl restart apache2

请告诉我如何执行以及这里发生了什么?提前致谢。

python ubuntu cgi apache2 server-side-scripting

6
推荐指数
2
解决办法
2万
查看次数

如何在 Python 3 CGI 中打印 unicode 字符?

我正在尝试运行具有一些 Unicode 字符串的 python CGI 脚本。它在控制台中运行良好,但是当我在浏览器中运行它时,它会出现以下错误 -

UnicodeEncodeError: 'ascii' 编解码器无法对位置 198 中的字符 '\u2026' 进行编码:序号不在范围内 (128)

我试过这两个 -
encode('ascii','ignore') unicodedata.normalize('NFKD',var).encode('ascii', 'ignore').strip()
var 是保存 unicode 字符串的变量。

现在如何在浏览器中正确打印 Unicode 或 ascii?

python unicode encoding cgi python-3.x

3
推荐指数
1
解决办法
574
查看次数