【发布时间】:2016-07-06 18:31:32
【问题描述】:
我已经创建了一个本地地址 http 网络服务器,希望能够打开 HTML 网页和创建 HTML 网页的 python 脚本,但是我不断收到 501 错误,因为我不知道如何让网络服务器正确识别代码。另一个注意事项:我在 Windows 上编码,我没有使用 Cygwin(我对 Cygwin 一无所知,所以如果这是这里推荐的方法,将不胜感激如何开始使用它。)
无论如何,这就是我所拥有的。
我在 C:\ 中创建了一个名为 server_test 的文件夹,在这个文件夹中,我放置了所有相关的 HTML 和 python 文件。我一直在 eclipse (C:\workspace) 中的 PyDev 中编辑我的 .py 文件,然后将这些文件复制到 C:\server_test 中。
为了让我的服务器运行,我在 cmd 中导航到 \server_test,打开 python,然后使用 HTTPServer、CGIRequestHandler、当前目录、地址 127.0.0.1 和我选择的端口(通常为 9090)创建一个 Web 服务器。完成此操作后,我可以转到我的网络浏览器并输入我的一个 HTML 页面的地址,它运行得非常好。但是,我目前有一个 HTML 页面,用于调用将创建另一个 HTML 页面的 python 脚本(也位于 \server_test 中),但我无法让它工作。
我的 HTML 代码如下所示:
<html>
<title>Debug Page</title>
<body
<h1>This is a test file. </h1>
<form method=POST action="my_code_2.py">
<P><input type=submit>
</form>
</body></html>
然后我的“my_code_2.py”看起来像这样:
#!C:\Python35-32\python.exe
import cgi
import cgitb; cgitb.enable()
print("Content-type: text/html\r\n\r\n")
print('<html>')
print('<h1>')
print('<title>This is a second test.</title>')
print('</h1>')
print('</body')
print('</html>')
从我所读到的关于 shebang 行的内容看来,Windows 原生不支持它们?那么如何确保我的计算机知道它应该将代码作为 Python 运行呢?目前,当我在我的第一个 HTML 页面上按下按钮时,页面http://127.0.0.1:port/my_code_2.py 只是一个印有我的 Python 代码的白页。
【问题讨论】:
标签: python html http server shebang