1

以下代码适用于 python.exe,但适用于 pythonw.exe 失败。我在 Windows 7 上使用 Python 3.1。

from http.server import BaseHTTPRequestHandler, HTTPServer

class FooHandler(BaseHTTPRequestHandler):
    def do_POST(self):
        length = int(self.headers['Content-Length'])
        data = self.rfile.read(length)
        print(data)
        self.send_response(200)
        self.send_header('Content-Length', '0')
        self.end_headers()

httpd = HTTPServer(('localhost', 8000), FooHandler)
httpd.serve_forever()

当我开始发送回复时出现问题。什么都没有写回来。如果我尝试另一个 http 连接,它将无法连接。我也尝试过使用 self.wfile 但也没有运气。

4

1 回答 1

1

您正在打印到标准输出。pythonw.exe 没有标准输出,因为它没有连接到终端。我的猜测是这与它有关。

尝试将标准输出重定向到文件,或者更快地删除print().

于 2011-02-24T15:26:38.217 回答