티스토리 뷰

webserver.py

-----------------------------------------------------------------------------------


from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer,socket
import sys,os

PORT_NUMBER = 8080
def getMacAddress():
            if sys.platform=='win32':
                for line in os.popen("ipconfig /all"):
                    print(line.lstrip())

#물리적 주소 or Physical address

                    if line.lstrip().startswith('물'):
                        mac = line.split(':')[1].strip().replace('-',':')
                        print(mac)
                        break
                    else:
                        for line in os.popen("/sbin/ifconfig"):
                            if line.find('Ether') >-1:
                                mac=line.split()[4]
                                break
            return mac
#This class will handles any incoming request from
#the browser
class myHandler(BaseHTTPRequestHandler):
   
    #Handler for the GET requests
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type','text/html')
        self.end_headers()
        addr=socket.gethostbyname(socket.gethostname())
        macaddr=socket.gethostbyname_ex(socket.gethostname())
        macaddr2=socket.gethostbyaddr(socket.gethostname())
        # Send the html message
        self.wfile.write("Hello World !"+ str(tuple(macaddr))+ str(tuple(macaddr2)))
        return
    def do_POST(self):
        self.send_response(200)
        self.send_header('Content-type','text/html')
        self.end_headers()
        addr=socket.gethostbyname(socket.gethostname())
        macaddr=socket.gethostbyname_ex(socket.gethostname())
        macaddr2=socket.gethostbyaddr(socket.gethostname())
        reval = getMacAddress()
        print(reval)
        # Send the html message
        self.wfile.write(str(reval))
       
        return
    

try:
    #Create a web server and define the handler to manage the
    #incoming request
    server = HTTPServer(('', PORT_NUMBER), myHandler)
    print 'Started httpserver on port ' , PORT_NUMBER
   
    #Wait forever for incoming htto requests
    server.serve_forever()

except KeyboardInterrupt:
    print '^C received, shutting down the web server'
    server.socket.close()

댓글