Cloud-Lösungen der Zukunft - Testen!
Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!
IP-Adresse aus Hostname ermitteln
Python Socket-Modul zum Abrufen der IP-Adresse aus dem Hostnamen
Das Python Socket-Modul gethostbyname()-Funktion akzeptiert einen Hostnamen als Argument und gibt die IP-Adresse im String-Format zurück.
Hier ist ein einfaches Beispiel im Python-Interpreter, um die IP-Adresse einiger Websites herauszufinden.
# python3.7
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import socket
>>> socket.gethostbyname('journaldev.com')
'45.79.77.230'
>>> socket.gethostbyname('google.com')
'172.217.166.110'
>>>
Hinweis: Wenn die Website hinter einem Load-Balancer liegt oder in der Cloud arbeitet, erhalten Sie möglicherweise ein anderes Ergebnis bei der IP-Adresssuche.
Python-Skript um IP-Adresse aus Hostname ermitteln
Lassen Sie uns ein Beispiel betrachten, bei dem wir den Benutzer bitten, eine Website-Adresse einzugeben und dann deren IP-Adresse auszudrucken.
import socket
hostname = input("Please enter website address:\n")
# IP lookup from hostname
print(f'The {hostname} IP Address is {socket.gethostbyname(hostname)}')
Hier ist ein weiteres Beispiel, um den Hostnamen als Befehlszeilenargument an das Skript zu übergeben. Das Skript wird die IP-Adresse finden und ausdrucken.
import socket
import sys
# no error handling is done here, excuse me for that
hostname = sys.argv[1]
# IP lookup from hostname
print(f'The {hostname} IP Address is {socket.gethostbyname(hostname)}')
Output:
# python3.7 ip_address.py facebook.com
The facebook.com IP Address is 157.240.23.35
IP-Adresse aus Hostname ermitteln – Fehlerszenarien mit socket.gethostbyname()
Wenn der Hostname nicht in eine gültige IP-Adresse aufgelöst wird, wird socket.gaierror ausgelöst. Wir können diesen Fehler in unserem Programm mit einem try-except-Block abfangen.
Hier ist das aktualisierte Skript mit Ausnahmebehandlung für ungültige Hostnamen.
import socket
import sys
hostname = sys.argv[1]
# IP lookup from hostname
try:
ip = socket.gethostbyname(hostname)
print(f'The {hostname} IP Address is {ip}')
except socket.gaierror as e:
print(f'Invalid hostname, error raised is {e}')
Output:
# python3.7 ip_address.py jasjdkks.com
Invalid hostname, error raised is [Errno 8] nodename nor servname provided, or not known
Kostenlosen Account erstellen
Registrieren Sie sich jetzt und erhalten Sie exklusiven Zugang zu weiterführenden Ressourcen, individuellem Support und einer Community von Experten.
Aktuelle Beiträge
Starten Sie Ihre Cloud-Reise mit unserer kostenlosen Trial-Version!
Entdecken Sie die grenzenlosen Möglichkeiten unserer Cloud-Dienste ganz unverbindlich. Melden Sie sich jetzt für unsere kostenlose Trial-Version an und erleben Sie, wie unsere innovativen Lösungen Ihr Business transformieren können.