BaseHTTPRequestHandler зависает при запуске pythonw.exe 3.1 - PullRequest
1 голос
/ 24 февраля 2011

Следующий код прекрасно работает с python.exe, но не работает с pythonw.exe.Я использую Python 3.1 в Windows 7.

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, но тоже не повезло.

1 Ответ

1 голос
/ 24 февраля 2011

Вы печатаете на стандартный вывод.pythonw.exe не имеет стандартного вывода, так как он не подключен к терминалу.Я предполагаю, что это как-то связано с этим.

Попробуйте перенаправить стандартный вывод в файл или быстрее удалите print().

...