验证ip是否合法的工程实践-python

验证合法ip用正则太麻烦,socket模块拿来用就好,

import socket

def validate_ip_address(ipstr, proto=4):
    """
    Validate specified IP address is legal IPv4 or IPv6 address
    """

    family = socket.AF_INET6 if proto == 6 else socket.AF_INET
    try:
        socket.inet_pton(family, ipstr)#inet_aton only support ipv4
        return True
    except (socket.error, OSError):
        return False
        

socket.inet_pton: Convert an IP address from its family-specific string format to a packed, binary forma

换个思维,如果能够转换成功,说明是合法ip

猜你喜欢

转载自blog.csdn.net/BobChill/article/details/83894968