Python IP-Adresse validieren
- Validieren Sie eine IP-Adresse in Python
-
Verwenden Sie das
ipaddress
-Modul, um eine IP-Adresse in Python zu validieren -
Verwenden Sie die Methode
RegEx.search()
, um eine IP-Adresse in Python zu validieren - Überprüfen Sie die IP-Adresse manuell in Python
IP steht für Internet Protocol, eine eindeutige Adresse, die jedem mit dem Internet verbundenen Computer zugewiesen wird. Es gibt zwei Versionen von IP-Adressen namens IPv4
und IPv6
.
IPv4 wird in punktierter Dezimalschreibweise dargestellt und besteht aus vier Oktetts, wobei jedes Oktett eine Zahl von 0 bis 255 enthält. IPv6-Adressen enthalten acht Gruppen von vier Hexadezimalziffern, die jeweils 16 Bit darstellen.
Doppelpunkte trennen die Gruppen (:
). In diesem Leitfaden validieren wir eine IPv4-Adresse.
Validieren Sie eine IP-Adresse in Python
Das Validieren einer IP-Adresse bedeutet, zu prüfen, ob die eingegebene IP gültig ist oder nicht.
Zum Beispiel:
Input: 192.168.52.124
Output: Valid IP address
Input: 656.1.2.3
Output: Invalid IP address
Verwenden Sie das ipaddress
-Modul, um eine IP-Adresse in Python zu validieren
Die ipaddress
ist ein Modul in Python, das verwendet wird, um IP-Adressen anhand ihres Typs (IPv4 oder IPv6) zu überprüfen und zu klassifizieren. Es führt auch verschiedene Operationen wie arithmetische Operationen, Vergleiche usw.
Dieses Modul hat eine Methode namens ip_address()
, die eine IP-Adresse validiert. Diese Funktion verwendet eine IP-Zeichenfolge als Eingabe, und wenn sie die Zeichenfolge IP erfolgreich in ein Objekt mit einer IPv4- oder IPv6-Adresse konvertieren kann, bedeutet dies, dass die eingegebene IP-Adresse gültig ist.
Andernfalls wird ein Wertfehler ausgelöst, dass die IP keine IPv4- oder IPv6-Adresse zu sein scheint. Wir haben das ipaddress
-Modul in den folgenden Code importiert und den ganzen Code in den try-except
-Block geschrieben.
Wenn die IP gültig ist, wird keine Ausnahme ausgelöst, und wenn nicht, wird die Wertfehler-Ausnahme vom Ausnahme
-Block behandelt.
Fall 1: Für gültige IP-Adresse
# Python 3.x
import ipaddress
try:
ip = ipaddress.ip_address("192.168.1.1")
print("Valid IP Address")
except ValueError:
print("Invalid IP Address")
Ausgang:
#Python 3.x
Valid IP Address
Fall 2: Für ungültige IP-Adresse
# Python 3.x
import ipaddress
try:
ip = ipaddress.ip_address("992.168.1.1")
print("Valid IP Address")
except ValueError:
print("Invalid IP Address")
Ausgang:
#Python 3.x
Invalid IP Address
Verwenden Sie die Methode RegEx.search()
, um eine IP-Adresse in Python zu validieren
Eine andere Möglichkeit, eine IP-Adresse zu validieren, besteht darin, sie über einen regulären Ausdruck mit einem vordefinierten Muster einer gültigen IP-Adresse abzugleichen. Wir haben im folgenden Code eine IP-Adresse validiert, indem wir die Methode search()
des Moduls re
aufgerufen und den Regex und die IP als Argument übergeben haben.
Diese Methode gibt True
zurück, wenn die IP gültig ist. Andernfalls wird False
zurückgegeben.
Beispielcode:
# Python 3.x
import re
ip = "192.168.2.3"
regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$"
if re.search(regex, ip):
print("Valid IP Address")
else:
print("Invalid IP Address")
Ausgang:
#Python 3.x
Valid IP Address
Überprüfen Sie die IP-Adresse manuell in Python
Wir können eine IP-Adresse ohne einen eingebauten regulären Ausdruck der Bibliothek validieren. Wir haben eine Funktion erstellt, die die IP-Adresse validiert, indem diese drei Bedingungen im folgenden Code überprüft werden.
Die IP wird ungültig, wenn eine der folgenden Bedingungen im Code True
ist.
- Die Anzahl der Oktette ist nicht vier.
- Jedes Oktett enthält etwas anderes als eine ganze Zahl.
- Jede Zahl innerhalb eines Oktetts liegt außerhalb des Bereichs von 0-255.
Beispielcode:
# Python 3.x
def validate_ip_address(ip):
octects = ip.split(".")
if len(octects) != 4:
return "Invalid IP"
for number in octects:
if not isinstance(int(number), int):
return "Invalid IP"
if int(number) < 0 or int(number) > 255:
return "Invalid IP"
return "Valid IP"
validate_ip_address("192.168.-1.1")
Ausgang:
#Python 3.x
'Invalid IP'
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn