我正在尝试编写一些代码来接收“假设的”域名并根据 RFC 1035 对其进行验证。例如,它需要满足以下规则:
- 域名总共不超过 253 个字符
- 域字符集仅为
[a-z0-9\-]
(输入域时小写) - 域不能包含两个连续的破折号(例如:
google--com.com
) - 最大子域限制为 127
我已经搜索了各种 Python 模块(例如:tldextract)但无济于事。
如何验证域名是否符合 RFC 1035?
最佳答案
亲吻:
import string
VALID_CHARS = string.lowercase + string.digits + '-.'
def is_valid_domain(domain):
if not all(char in VALID_CHARS for char in domain.lower()):
return False
if len(domain) > 253:
return False
if '--' in domain:
return False
if '..' in domain:
return False
return True
聪明有时,但这似乎不是其中之一。
关于python - 如何使用 Python 验证域名是否符合 RFC 1035?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20954756/