Python ip adresy – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Python ip adresy – Python – Fórum – Programujte.comPython ip adresy – Python – Fórum – Programujte.com

 

myky0
Stálý člen
23. 2. 2013   #1
-
0
-

spravil som si jednoduchy web server ... check link http://pastebin.com/CmLds7mw a chcel by som tam mat este manage ip client address aby adresy ktore zadam sa nemohlli pripojit na server ...viete mi prosim pomoct lebo snazim sa o vyriesit cca 3 dni a neviem ako ... vopred dakujem za pomoc

Nahlásit jako SPAM
IP: 84.47.41.–
LaCoret
~ Anonymní uživatel
1 příspěvek
16. 3. 2013   #2
-
0
-

 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. 

Nahlásit jako SPAM
IP: 2001:67c:1220:c1c0:4a5b:3...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 36 hostů

Podobná vlákna

Python-zavirani oken v python shell — založil Daniel zita

Format adresy — založil kuk

Seo adresy — založil Blujacker

Zjištění adresy — založil tonez

Validace adresy — založil ospaly.stanislav

 

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