如何检查url是否在同一主机上
本文关键字:主机 是否 url 何检查 检查 | 更新日期: 2023-09-27 18:22:26
我正在尝试解析一个html页面(使用html敏捷包)并提取所有图像链接。现在我想看看链接是否在同一台主机上。以下代码是否涵盖了所有场景?有什么更好的解决方案可以实现这一点吗?
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//img/@src"))
{
var link = node.Attributes["src"].Value.Trim();
if (link.StartsWith("http", true, null) || link.StartsWith("//"))
//the link is not on the same host
}
我将使用以下正则表达式:
if(Regex.IsMatch(link, @"^('w+:)*'/'/"))
{
// The link is not on the same host
}
这适用于任何协议,并且不会匹配以http
开头的本地目录或文件,例如注释