Anonymní profil LaCoret – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil LaCoret – Programujte.comAnonymní profil LaCoret – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:67c:1220:c1c0:4a5b:3...–

LaCoret
Python › python ip adresy
16. 3. 2013   #172882

 Už to asi neni aktuální, ale kdyby mněl někdo podobnou touhu  tak tady je nástin toho jak dostat ip adresu klienta.

Napsal jsem si vlastní handler který dědí z SimpleHTTPRequestHandler. Podle http://wiki.python.org/moin/BaseHttpServer

Adresa klienta se společně s jeho portem tiskne na výstup. Pro filtraci ji stačí získat z tuplu a otestovat.


import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler


class MyHaRequestHandler(SimpleHTTPRequestHandler):
    # #(X)
    # Označuje kod proto aby handler mnel stejnou funkcionalitu jako predtim
    #   lepsim resenim je napsat si vlastni do_GET a do_HEAD
    #   více  na   http://wiki.python.org/…seHttpServer
    #   nebo si pohrát s dedenim a rodicem tridy "super"
    #--------------------------------------------------
    #(X) trueHandler bude pro vsechny objekty spolecny
    trueHandler = SimpleHTTPRequestHandler
    #(X)
    trueHandler.protocol_version = "HTTP/1.0"
    def do_GET(self):
        # client                 address , port
         print "client: " + str(self.client_address)
         #(X) proved obsluhu
         self.trueHandler.do_GET(self)


#HandlerClass = SimpleHTTPRequestHandler
HandlerClass = MyHaRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"
port = 8000
server_address = ('127.0.0.1', port)
is_running = True


HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on ", httpd.server_address, "port ", sa[1], ""
while is_running:
        httpd.handle_request()

P.S.:  V Pythonu jsem nováček a nechtělo se mi na tom stravit moc času, proto budu rád za jakoukoliv konstruktivní kritiku. 

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý