次のコードは、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 を使ってみましたが、うまくいきませんでした。