Hallo, bin absoluter newbie beim Umgang mit Python. wie kann ich ich die ip-Adresse von python ermitteln. Danke für die Hilfe _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Hallo,
bin absoluter newbie beim Umgang mit Python. wie kann ich ich die ip-Adresse von python ermitteln.
probiers mal mit socket-Modul [1]: import socket socket.gethostbyaddr(socket.gethostname()) Bye Oliver [1] http://www.python.org/doc/current/lib/module-socket.html _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Jens Mintel wrote:
Hallo,
bin absoluter newbie beim Umgang mit Python.
wie kann ich ich die ip-Adresse von python ermitteln.
Ein Rechner kann beliebig viele IP-Adressen haben. Üblicherweise - Loopback (127.0.0.1) - Für jedes Netzwerkinterface eine - Evtl. noch Aliase (zusätzliche IP-Adressen) für die Netzwerkdevices Folgendes Code-Stück liefert eine davon, das muss aber nicht unbedingt die sein, die du haben willst: #v+ import socket print socket.gethostbyname(socket.gethostname()) #v- -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Am Fri, 20 Jun 2003 01:07:13 +0200 Schrieb Jens Mintel <jens.mintel@gmx.net>:
Hallo,
Hi
bin absoluter newbie beim Umgang mit Python.
wie kann ich ich die ip-Adresse von python ermitteln.
also die ip-Adresse von www.python.org kannst du mit einem einfachen ping www.python.org in der Konsole eingetippt herausfinden. Falls Du was anderes meinst, solltest Du Deine Frage etwas präzisieren.
Danke für die Hilfe
Gern geschehen Gruß Fritz _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Hallo, erstmal vielen Dank für die vielen Antworten. Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden. Hier das nachfolgende script, was leider ned richtig möchte. import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit() Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab. Woran liegt das? Im voraus schonmal danke. Jens At 01:25 20.06.2003 +0200, you wrote:
Am Fri, 20 Jun 2003 01:07:13 +0200 Schrieb Jens Mintel <jens.mintel@gmx.net>:
Hallo,
Hi
bin absoluter newbie beim Umgang mit Python.
wie kann ich ich die ip-Adresse von python ermitteln.
also die ip-Adresse von www.python.org kannst du mit einem einfachen ping www.python.org in der Konsole eingetippt herausfinden. Falls Du was anderes meinst, solltest Du Deine Frage etwas präzisieren.
Danke für die Hilfe
Gern geschehen
Gruß
Fritz
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Jens Mintel wrote:
Hallo,
erstmal vielen Dank für die vielen Antworten.
Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden.
Hier das nachfolgende script, was leider ned richtig möchte.
import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab.
Woran liegt das?
socket.gethostbyaddr(socket.gethostname()) ('thishost.example.com', ['thishost'], ['10.8.5.1'])
Erwartest du, dass server.sendmail() als Text der Nachricht ein Tupel akzeptiert? Das solltest du wohl erst in einen String umwandeln. -schorsch -- Georg Mischler -- simulations developer -- schorsch at schorsch com +schorsch.com+ -- lighting design tools -- http://www.schorsch.com/ _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Jens Mintel wrote:
Hallo,
erstmal vielen Dank für die vielen Antworten.
Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden.
So was sollte gehen: #v+ import commands print commands.getoutput("/sbin/ifconfig ppp0|grep addr") #v-
Hier das nachfolgende script, was leider ned richtig möchte.
import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab.
Woran liegt das? [...]
Daran, dass 'ip' kein String ist und .sendmail() and dieser Stelle einen String erwartet. Entweder du wandelst es mittels str() in einen String um, oder du ziehst aus der Datenstruktur genau den String raus, den du willst: ip[2][0]. Das wird aber wahrscheinlich nicht das gewünschte (die öffentliche IP-Adresse) liefern, also wird vielleicht doch mein obiger Vorschlag mit ifconfig eher zum Ziel führen. -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
und wie wandel ich diese tupel in einen string um? würde es gern mit meinem beispiel weiterversuchen, da das script später auf einem windowsrechner laufen wird. Jens At 12:29 20.06.2003 +0200, you wrote:
Jens Mintel wrote:
Hallo, erstmal vielen Dank für die vielen Antworten. Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden.
So was sollte gehen:
#v+ import commands print commands.getoutput("/sbin/ifconfig ppp0|grep addr") #v-
Hier das nachfolgende script, was leider ned richtig möchte. import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit() Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab. Woran liegt das? [...]
Daran, dass 'ip' kein String ist und .sendmail() and dieser Stelle einen String erwartet. Entweder du wandelst es mittels str() in einen String um, oder du ziehst aus der Datenstruktur genau den String raus, den du willst: ip[2][0]. Das wird aber wahrscheinlich nicht das gewünschte (die öffentliche IP-Adresse) liefern, also wird vielleicht doch mein obiger Vorschlag mit ifconfig eher zum Ziel führen.
-- Gerhard
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
-------Original Message------- From: python-de@python.net Date: Freitag, 20. Juni 2003 12:29:23 To: python-de@python.net Subject: Re: [Python-de] Hilfe Jens Mintel wrote:
Hallo,
erstmal vielen Dank für die vielen Antworten.
Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden.
So was sollte gehen: #v+ import commands print commands.getoutput("/sbin/ifconfig ppp0|grep addr") #v-
Hier das nachfolgende script, was leider ned richtig möchte.
import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab.
Woran liegt das? [...]
socket.gethostbyname_ex(gethostname())[2][-1]
Daran, dass 'ip' kein String ist und .sendmail() and dieser Stelle einen String erwartet. Entweder du wandelst es mittels str() in einen String um, oder du ziehst aus der Datenstruktur genau den String raus, den du willst: ip[2][0]. Das wird aber wahrscheinlich nicht das gewünschte (die öffentliche IP-Adresse) liefern, also wird vielleicht doch mein obiger Vorschlag mit ifconfig eher zum Ziel führen. -- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de --------------------------------- Wenns auch noch auf Windows laufen soll kannst du auch mal probieren. gethostbyname_ex() liefert dir eine Liste aller eth und ppp device Adressen. Bei mehr als einer ppp Verbindung muesstest du natuerlich entsprechend den lezten Index ändern. Gruss, Jochen _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
leider scheint in dem script immernoch ein fehler zu stecken. import smtplib import socket fromaddr = "jens.mintel@gmx.net" password = "passwort" toaddrs = "jens.mintel@gmx.net" x = socket.gethostbyaddr(socket.gethostname()) msg = x[2][0] server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit() er sendet es zwar an die E-Mailadresse nur leider kommt kein text an. Kann mir jemand sagen warum und was ich ändern muß Danke schonmal greetings Jens At 15:24 20.06.2003 +0200, you wrote:
-------Original Message-------
From: <mailto:python-de@python.net>python-de@python.net Date: Freitag, 20. Juni 2003 12:29:23 To: <mailto:python-de@python.net>python-de@python.net Subject: Re: [Python-de] Hilfe
Jens Mintel wrote:
Hallo,
erstmal vielen Dank für die vielen Antworten.
Ich suche nach einer Lösung mir die IP-Adresse des ppp interfaces per E-Mail zu übersenden.
So was sollte gehen:
#v+ import commands print commands.getoutput("/sbin/ifconfig ppp0|grep addr") #v-
Hier das nachfolgende script, was leider ned richtig möchte.
import smtplib import socket fromaddr = "e-mailadresse" password = "passwort" toaddrs = "e-mailadresse" ip = socket.gethostbyaddr(socket.gethostname()) msg = ip server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
Wenn ich die msg durch einen normalen Text ersetze klappt es wunderbar. Nur wenn ich mir die ip übersenden will bricht das script ab.
Woran liegt das? [...]
Daran, dass 'ip' kein String ist und .sendmail() and dieser Stelle einen String erwartet. Entweder du wandelst es mittels str() in einen String um, oder du ziehst aus der Datenstruktur genau den String raus, den du willst: ip[2][0]. Das wird aber wahrscheinlich nicht das gewünschte (die öffentliche IP-Adresse) liefern, also wird vielleicht doch mein obiger Vorschlag mit ifconfig eher zum Ziel führen.
-- Gerhard
_______________________________________________ Python-de maillist - <mailto:Python-de@python.net>Python-de@python.net http://python.net/mailman/listinfo/python-de
---------------------------------
Wenns auch noch auf Windows laufen soll kannst du auch mal
socket.gethostbyname_ex(gethostname())[2][-1]
probieren. gethostbyname_ex() liefert dir eine Liste aller eth und ppp device Adressen. Bei mehr als einer ppp Verbindung muesstest du natuerlich entsprechend den lezten Index ändern.
Gruss, Jochen
____________________________________________________ <http://www.incredimail.com/redir.asp?ad_id=309&lang=9>Re [Python-de] Hilfe.gif IncrediMail - Email has finally evolved - <http://www.incredimail.com/redir.asp?ad_id=309&lang=9>Click Here
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Am Freitag 20 Juni 2003 17:19 schrieb Jens Mintel:
leider scheint in dem script immernoch ein fehler zu stecken.
import smtplib import socket fromaddr = "jens.mintel@gmx.net" password = "passwort" toaddrs = "jens.mintel@gmx.net" x = socket.gethostbyaddr(socket.gethostname()) msg = x[2][0] server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
er sendet es zwar an die E-Mailadresse nur leider kommt kein text an. Kann mir jemand sagen warum und was ich ändern muß
Hi! Wo soll der Text denn herkommen? msg = x[2][0] - naja, das ist halt die IP, sonst nix. Der Fehler steckt also nicht (mehr) im Skript ;-) Viele Grüße Tino _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Jens Mintel wrote:
er sendet es zwar an die E-Mailadresse nur leider kommt kein text an.
Kann mir jemand sagen warum und was ich ändern muß
Hast du dir mal eine *vollstaendige* E-Mail Nachricht angeschaut? Die besteht mindestens aus einem Satz Header und dem eigentlichen Text. Einfach einen beliebigen String in der Gegend rumschicken ist nicht. Das Modul "smtplib" macht *nur* die low-level Kommunikation mit dem SMTP server. Für die Formatierung der Nachricht bist du selber verantwortlich. Die Anforderungen sind grundsätzlich im RFC-2822 festgelegt. Um die Sache etwas zu vereinfachen, kannst du dir in der Standard-Library mal im Package "email" das Modul "Message" anschauen. Übrigens, könntest du der Mailing-Liste hier die angehängten Bildchen ersparen? Die brauchen wir alle nicht wirklich... -schorsch -- Georg Mischler -- simulations developer -- schorsch at schorsch com +schorsch.com+ -- lighting design tools -- http://www.schorsch.com/ _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
wäre schön, wenn zumindest die in der mail vorhanden wäre gruß jens At 18:27 20.06.2003 +0200, you wrote:
Am Freitag 20 Juni 2003 17:19 schrieb Jens Mintel:
leider scheint in dem script immernoch ein fehler zu stecken.
import smtplib import socket fromaddr = "jens.mintel@gmx.net" password = "passwort" toaddrs = "jens.mintel@gmx.net" x = socket.gethostbyaddr(socket.gethostname()) msg = x[2][0] server = smtplib.SMTP('mail.gmx.net') #server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, msg) server.quit()
er sendet es zwar an die E-Mailadresse nur leider kommt kein text an. Kann mir jemand sagen warum und was ich ändern muß
Hi!
Wo soll der Text denn herkommen? msg = x[2][0] - naja, das ist halt die IP, sonst nix.
Der Fehler steckt also nicht (mehr) im Skript ;-)
Viele Grüße
Tino
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
Jens Mintel wrote:
wäre schön, wenn zumindest die in der mail vorhanden wäre
Dein Mail-Programm hat sicher eine Funktion, mit der man alle Header anschauen kann. Bei den so versandten Exemplaren steht deine IP dort, wo eigentlich die Header hingehören, und wird deshalb nicht im Textfenster dargestellt. Uebrigens: Wenn du deine Antwort jeweils direkt *unter* den Textabschnitt stellst, auf den sie Bezug nimmt, dann wird der Zusammenhang fuer alle besser verstaendlich. Und alles, was fuer das Verstaendnis nicht mehr relevant ist, gehoert geloescht. http://learn.to/quote (gilt nicht nur fuer Usenet) -schorsch
Tino wrote:
Jens Mintel schrieb:
leider scheint in dem script immernoch ein fehler zu stecken.
[snip]
er sendet es zwar an die E-Mailadresse nur leider kommt kein text an. Kann mir jemand sagen warum und was ich ändern muß
Wo soll der Text denn herkommen? msg = x[2][0] - naja, das ist halt die IP, sonst nix.
-- Georg Mischler -- simulations developer -- schorsch at schorsch com +schorsch.com+ -- lighting design tools -- http://www.schorsch.com/ _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (7)
-
Fritz Cizmarov
-
Georg Mischler
-
Gerhard Häring
-
Jens Mintel
-
Oliver Horn
-
THC
-
Tino Lange