Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
import urllib
f = urllib.urlopen("http://checkip.dyndns.org/")
print f.read()
f.close()
mfg
roschi
[size=117]Fuer Alle, die in Python einsteigen wollen, kann ich das Buch [url=http://abop-german.berlios.de/]A Byte of Python[/url] nur waermstens empfehlen![/size]
@roschi: Was glaubst du was ich die ganze Zeit tue? Mein Link zeigt sogar einen "jungfräulichen" Text (also ohne jegliche HTML-Formatierung) an.
Die Frage kam ja erst auf, als mir gesagt wurde, dass ich die IPs anderer Seiten auch ohne ein externes Programm abfragen kann. Und nun ging es mir darum, auch die eigene IP anzeigen zu können ohne eine andere Website dafür bemühen zu müssen. Das scheint aber etwas komplizierter zu sein und daher belasse ich die Funktion bisher auch bei der urllib-Lösung.
snafu hat geschrieben:@roschi: Was glaubst du was ich die ganze Zeit tue? Mein Link zeigt sogar einen "jungfräulichen" Text (also ohne jegliche HTML-Formatierung) an.
upps, das habe ich uebersehen.
aber es ist gut, einen server mit jungfraeulicher response zu kennen ^^
mfg
roschi
[edit]
sorry, dass ich dir nicht weiterhelfen konnte
[/edit]
Zuletzt geändert von roschi am Mittwoch 15. Oktober 2008, 12:41, insgesamt 1-mal geändert.
[size=117]Fuer Alle, die in Python einsteigen wollen, kann ich das Buch [url=http://abop-german.berlios.de/]A Byte of Python[/url] nur waermstens empfehlen![/size]
Ich habe mich etwas in die Abläufe eingelesen und den Code halbwegs nachvollziehbar in "own_ip()" strukturiert. Kann ich auch Python-intern den ifname herausfinden?
wie soll das plattformunabhaengig gehen? es gibt unter windows kein fcntl, leider.
mfg
roschi
[size=117]Fuer Alle, die in Python einsteigen wollen, kann ich das Buch [url=http://abop-german.berlios.de/]A Byte of Python[/url] nur waermstens empfehlen![/size]
Achso, das wusste ich nicht (wahrscheinlich in der Doku überlesen). Hat denn schon jemand unter Unix/Linux & Friends getestet ob es seine korrekte IP zurück gibt?
Das gibt nur meine interne IP zurück (192.168. ...). Ich glaub, um die IP des Routers herauszufinden, musst du wirklich auf sowas wie checkip.dyndns.org zurückgreifen.
Okay, mit nem Router hab ich's nicht getestet, ohne Router stimmt sie. Kannst ja mal probieren deine interne IP ebenfalls auszuschliessen (Zeile 27). Ich weiß aber ehrlich gesagt nicht ob die Funktion bis nach "draußen", sprich: an die IP des Routers, kommt.
EDIT: Hab's jemanden mit Router testen lassen. Geht leider nicht. Hätte mich auch gewundert.
snafu hat geschrieben:EDIT: Hab's jemanden mit Router testen lassen. Geht leider nicht. Hätte mich auch gewundert.
Natürlich nicht. Das ist ja der ganze Punkt von NAT und auch der warum wir in Zukunft definitiv IPv6 brauchen. Stell dir mal vor, NATs hinter NATs zu traversieren, allein die Idee ist so fürchterlich, dass man das gar nicht glauben will.
Siehe The future without IPv6. Daraufhin habe ich mich gleich umgesehen, ob mein ISP IPv6-Zugänge bereitstellt (tut er nicht).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice