2

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()
4

1 に答える 1

1

私はそれを修正しました-「Access-Control-Allow-Origin」ヘッダーを追加する必要があります:

self.send_header("Access-Control-Allow-Origin","*")

-- うまくいきました!

于 2013-07-03T08:03:04.083 に答える