1

我只是启动一个网络服务器:python -m http.server

并制作一个 htm:Friends CGI Demo(静态屏幕)

<BODY>
<H3>Friends list for:<I>NEW USER</I></H3>
<FORM ACTION = "/cgi-bin/test.py">
<B>Enter your Name:</B>
<INPUT TYPE = text NAME = person VALUE = "NEW USER" SIZE = 15>
<P><B>How many friends do you have?</B>
<INPUT TYPE = radio NAME = howmany VALUE = "0" CHECKED> 0
<INPUT TYPE = radio NAME = howmany VALUE = "10" > 10
<INPUT TYPE = radio NAME = howmany VALUE = "25" > 25
<INPUT TYPE = radio NAME = howmany VALUE = "50" > 50
<INPUT TYPE = radio NAME = howmany VALUE = "100" > 100
</P><INPUT TYPE = submit>
</FORM>
</BODY>
</HTML>

然后,编写一个 test.py:#!c:\Python33\python.exe import cgi

print('Content-Type:text/html\n\n')
print('hello cgi')

这是CorePython的一个cgi示例,但它不起作用,我使用python3.3,我谷歌并修复它,但它仍然不起作用,错误是:code 404 message File nof found,看起来像test.py找不到,我已经创建了一个 cgi-bin 目录,并将 test.py 放入其中。我完全糊涂了,寻求您的帮助

4

2 回答 2

1

python -m http.server --cgi 8000

--cgi 打开 python 处理程序。

使用您上面的文件。

于 2013-07-29T03:02:45.043 回答
0

一边思考一边大声说出来……

当我在 win7 上运行“python -m http.server”时,主目录是 c:\users[my id]\ 目录。

I used http://localhost:8000

您的 cgi-bin 是否在正确的目录中?

我通过命令窗口启动了 python web 服务器。在命令窗口中显示 404 错误。

检查您对 cgi-bin 和 test.py 的权限。当我在浏览器中单击 \sendto\ 链接时,我得到:

    Error response
    Error code: 404
    Message: No permission to list directory.
    Error code explanation: 404 - Nothing matches the given URI.

虽然http说的是404,但确实应该是404.1。当我尝试使用 Windows 资源管理器转到 \sendto\ 目录时,我被拒绝访问。

当我将 \cgi-bin\ 放在上面提到的目录中时,我能够得到一个目录列表。当我创建您提到的文件时,除了显示 .py 文件内容外,它可以正常工作。

当你制作 \cgi-bin\test.py \cgi-bin\test.htm 时会发生什么?

于 2013-07-29T02:14:54.507 回答