Determine site domain in BaseHTTPServer

↘锁芯ラ 提交于 2019-12-25 02:59:09

问题


I try to implement simple server on python based on HTTPServer. How can i extract information about site domain served in current request? I mean it can serv several domains such as site1.com and site2.com for example, how can i get it in this code:

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:


I guess you should be able to read the Host header. The headers can be accessed from BaseHTTPRequestHandler.headers



来源:https://stackoverflow.com/questions/2958408/determine-site-domain-in-basehttpserver

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!