检查域、IP和主机以确保它们是“外部的”

check-external-net的Python项目详细描述


检查域、IP和主机以确保它们是“外部的”

它用于检查用户输入的主机名,以确保 它们只包含IP地址或被认为是 系统外部的。没有保留的IP地址(例如 127.0.0.0/8192.168.0.0/16fc00::/7)并且没有不是的域 公共后缀的子级(例如*.com可以,*.local不可以)。

内部IP地址(is_external_address

如果我们能够识别出一个IPv4 mapped地址,那么它是通过 作为核对地址而不是原件。

从那里,所有的IPv4 reserved networks,和IPv6 reserved networks 视为“内部”(见is_global

内部域(is_external_domain

如果域不是外部的,则它被视为内部的。

如果域的最后一个后缀(域的最后一部分)被认为是外部的 在最后一个{t88}$字符之后存在 Mozilla public suffix registry

内部主机(is_external_host

主机通过ipaddress.ip_address函数解析为IP地址。如果 这是成功的,它被视为一个内部IP地址的规则。否则, 它被视为一个域。

用法

>>> check_external_net.is_external_host('127.0.0.1')
False
>>> check_external_net.is_external_host('::0')
False
>>> check_external_net.is_external_host('8.8.8.8')
True
>>> check_external_net.is_external_host('::ffff:8.8.8.8')
True
>>> check_external_net.is_external_host('localhost')
False
>>> check_external_net.is_external_host('cluster.local')
False
>>> check_external_net.is_external_host('google.com')
True
>>> check_external_net.is_external_host('dutyof.care')
True

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何下载多个。java中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar