Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 确定BaseHTTPServer中的站点域_Python_Dns - Fatal编程技术网

Python 确定BaseHTTPServer中的站点域

Python 确定BaseHTTPServer中的站点域,python,dns,Python,Dns,我尝试在基于HTTPServer的python上实现简单服务器。 如何提取当前请求中服务的站点域的信息? 我的意思是它可以服务于多个域,例如site1.com和site2.com。例如,我如何在以下代码中获得它: from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer class MyHandler(BaseHTTPRequestHandler): def do_GET(self): print "ge

我尝试在基于HTTPServer的python上实现简单服务器。 如何提取当前请求中服务的站点域的信息? 我的意思是它可以服务于多个域,例如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()
从BaseHTTPServer导入BaseHTTPRequestHandler,HTTPServer
类MyHandler(BaseHTTPRequestHandler):
def do_获得(自我):
打印“获取”
自我发送_响应(200)
self.send_标题(“内容类型”、“文本/html”)
self.end_头()
#如何在这里获取服务站点的主机名?
#site1.com还是site2.com?
域=???
self.wfile.write('欢迎访问www.%s.com'(域))
如果名称=“\uuuuu main\uuuuuuuu”:
尝试:
server=HTTPServer(“”,8070),MyHandler)
打印“已启动httpserver…”
服务器。永远为您服务()
除键盘中断外:
打印“^C已收到,正在关闭服务器”
server.socket.close()

我想您应该能够读取主机标题。
可以从BaseHTTPRequestHandler访问标题。标题

我想您应该能够读取主机标题。
可以从BaseHTTPRequestHandler访问头文件。头文件

谢谢,我解决它:[domain]=re.findall('Host:(.*)\r\n',str(self.headers))谢谢,我解决它:[domain]=re.findall('Host:(.*)\r\n',str self.headers))