我在字符串中有一个相对或绝对的url.我首先需要知道它是绝对的还是相对的.我该怎么做呢?然后我想确定url的域是否在允许列表中.
这是我的允许列表,作为一个例子:
string[] Allowed =
{
"google.com",
"yahoo.com",
"espn.com"
}
Run Code Online (Sandbox Code Playgroud)
一旦我知道它的相对或绝对,我认为它相当简单:
if (Url.IsAbsolute)
{
if (!Url.Contains("://"))
Url = "http://" + Url;
return Allowed.Contains(new Uri(Url).Host);
}
else //Is Relative
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
Muh*_*han 101
bool IsAbsoluteUrl(string url)
{
Uri result;
return Uri.TryCreate(url, UriKind.Absolute, out result);
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*sic 28
出于某种原因,他们的主人删除了几个好的答案:
Uri.IsWellFormedUriString(url, UriKind.Absolute)
Run Code Online (Sandbox Code Playgroud)
和
Uri.IsWellFormedUriString(url, UriKind.Relative)
Run Code Online (Sandbox Code Playgroud)
的UriParser通过和实施@Marcelo托斯
| 归档时间: |
|
| 查看次数: |
30615 次 |
| 最近记录: |