Windows 7 64ビットで実行されているpython 3.xで単純なhttpサーバーを作成しようとしています。Mac の python 2.7 でこれが正常に動作し、Windows で実行されている python 3.2 にアップグレードするためにいくつかの変更を加えました。
クエリを実行すると、ヘッダーはすべて正しく返されますが、ブラウザーのインスペクターにはコンテンツが表示されません。ただし、telnet は、応答が完全に受信されていることを示しています。
ブラウザに表示されないのはなぜですか?ヘルプ!
コードは次のとおりです。
import sys
import http.server
from http.server import HTTPServer
from http.server import SimpleHTTPRequestHandler
import usb.core
class MyHandler(SimpleHTTPRequestHandler):
def __init__(self,req,client_addr,server):
SimpleHTTPRequestHandler.__init__(self,req,client_addr,server)
def do_GET(self):
r="<h1>Hello World</h1>"
self.send_response(200)
self.send_header("Content-type", "application/json;charset=utf-8")
self.send_header("Content-length", len(r))
self.end_headers()
self.wfile.write(r.encode("utf-8"))
self.wfile.flush()
print(r)
HandlerClass = MyHandler
Protocol = "HTTP/1.1"
port = 80
server_address = ('localhost', port)
HandlerClass.protocol_version = Protocol
try:
httpd = HTTPServer(server_address, MyHandler)
print ("Server Started")
httpd.serve_forever()
except KeyboardInterrupt:
print('Shutting down server')
httpd.socket.close()