如何使用下面的代码检查域名是否真实匹配。
对于该域名,url将返回true,但是对于此url = http://www.text-apple.com/uk/
来说是有用的,这不是真正的匹配。
但在这种情况下url = http://itunes.apple.com"
应该匹配,所以我需要添加一些内容,例如在域名之前有.
然后匹配。
domain = "apple.com"
url = "http://www.apple.com/uk/"
def domain_is_URL?(url, domain)
d = Regexp.escape(domain)
URI.parse(url).host.match(d)
end
谢谢
答案 0 :(得分:2)
您可以尝试比较主机组件:
domain_parts = domain.split('.')
URI.parse(url).host.split('.').last(domain_parts.length) == domain_parts.length
这会比较URI主机的最后N个部分,看它们是否相同。 [ 'text-apple', 'com' ]
不等于[ 'apple', 'com' ]
。
答案 1 :(得分:0)
您可以尝试使用基数树构建域列表,然后根据基数树评估URL的一部分。