我试图在本地主机上运行我的网页。我正在使用python http.server在本地主机中运行代码。它适用于GET请求,但不适用于POST。
python -m http.server --cgi 8080
显示
“错误代码:501
消息:只能POST到CGI脚本。
错误代码说明:HTTPStatus.NOT_IMPLEMENTED-服务器不支持此操作。”
答案 0 :(得分:1)
CGI脚本必须位于特殊目录中,例如cgi-bin:
仅使用基于目录的CGI
cgi_directories¶
此默认值为['/ cgi-bin','/ htbin'],并描述要包含CGI脚本的目录。
因此您可以通过以下方式使用它们:
在终端中,运行:python3 -m http.server --cgi 8080
和另一个:
$ cat cgi-bin/foo.py
#!/usr/bin/env python3
import sys
print('200 OK\r\n\r\nfoo')
$ chmod u+x cgi-bin/foo.py
$ curl http://localhost:8080/cgi-bin/foo.py -X POST
foo