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

stdout に出力しています。pythonw.exe は端末に接続されていないため、stdout はありません。私の推測では、これはそれと関係があると思います。

stdout をファイルにリダイレクトするか、より迅速にprint().

于 2011-02-24T15:26:38.217 に答える