urlstd.parse.HostValidator#
- class urlstd.parse.HostValidator
Bases:
object
Validates a host string.
Examples
>>> HostValidator.is_valid('a..b') False >>> HostValidator.is_valid('127.0.0x0.1') False >>> HostValidator.is_valid('[1::1::1]') False
>>> validity = ValidityState() >>> HostValidator.is_valid('a..b', validity=validity) False >>> validity ValidityState(valid=False, error_types=['domain-to-ASCII'], descriptions=["domain-to-ASCII: Unicode ToASCII records an error: domain='a..b' errors=UIDNA_ERROR_EMPTY_LABEL (0x0001)"], validation_errors=1, disable_logging=True)
>>> HostValidator.is_valid('127.0.0x0.1', validity=validity) False >>> validity ValidityState(valid=False, error_types=['IPv4-non-decimal-part'], descriptions=["IPv4-non-decimal-part: IPv4 address contains numbers expressed using hexadecimal or octal digits: '0x0' in '127.0.0x0.1'"], validation_errors=1, disable_logging=True)
>>> HostValidator.is_valid('[1::1::1]', validity=validity) False >>> validity ValidityState(valid=False, error_types=['IPv6-multiple-compression'], descriptions=["IPv6-multiple-compression: IPv6 address is compressed in more than one spot: '1::1::1'"], validation_errors=1, disable_logging=True)
Methods:
is_valid
(host, **kwargs)Returns True if host is a valid host string (a domain string and an IP address string).
is_valid_domain
(domain, **kwargs)Returns True if domain is a valid domain string.
is_valid_ipv4_address
(address, **kwargs)Returns True if address is a valid IPv4-address string.
is_valid_ipv6_address
(address, **kwargs)Returns True if address is a valid IPv6-address string.
is_valid_opaque_host
(host, **kwargs)Returns True if host is a valid opaque-host string.