Определить домен сайта в BaseHTTPServer - PullRequest
0 голосов
/ 02 июня 2010

Я пытаюсь реализовать простой сервер на Python на основе HTTPServer. Как извлечь информацию о домене сайта, обслуживаемом в текущем запросе? Я имею в виду, что он может обслуживать несколько доменов, например site1.com и site2.com, как я могу получить его в этом коде:

from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        print "get"
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()
        #how can i get here host name of serving site?
        #site1.com or site2.com ?
        domain = ???
        self.wfile.write('<html>Welcome on www.%s.com</html>' % (domain))



if __name__ == "__main__":
    try:
        server = HTTPServer(("", 8070), MyHandler)
        print "started httpserver..."
        server.serve_forever()
    except KeyboardInterrupt:
        print "^C received, shutting down server"
        server.socket.close()

1 Ответ

1 голос
/ 02 июня 2010

Полагаю, вы сможете прочитать заголовок Host. Заголовки могут быть доступны из BaseHTTPRequestHandler.headers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...