擅长:python、mysql、java
<p>注意,虽然您可以使用正则表达式执行<em>操作,但测试有效域名的最可靠的方法是实际尝试解析该名称(使用<a href="http://docs.python.org/library/socket.html#socket.getaddrinfo" rel="nofollow noreferrer">socket.getaddrinfo</a>):</p>
<pre><code>from socket import getaddrinfo
result = getaddrinfo("www.google.com", None)
print result[0][4]
</code></pre>
<p>请注意,从技术上讲,这会让您对DoS开放(如果有人提交了数千个无效域名,则可能需要一段时间才能解析无效名称),但您可以简单地对尝试此操作的人进行评分限制。</p>
<p>这样做的好处是,它会将“hotmail.con”捕获为无效(而不是“hotmail.com”,比方说),而正则表达式会将“hotmail.con”捕获为有效。</p>