2014-10-26 52 views
0

我從用戶那裏得到URL,並檢查這個URL是否是有效的URL。「http:// www。」在Uri.TryCreate錯誤?

鏈接首先檢查失敗所輸入的 「http:// [W] [W] [W]」。:

rawUrl = "http:// [w][w][w]."; 
Uri url; 
if (!Uri.TryCreate(rawUrl, UriKind.Absolute, out url)) 
    throw new InvalidUrlException(inputUrl); 

當[W] = W,沒有空間之前。編輯阻止了這段文字。

在這種情況下,TryCreate()返回true。有人可以解釋我爲什麼嗎?

謝謝。

回答

2

「www。」部分URI是域名。

沒有點的域名是不明確的。例如,「com」是指稱爲「com」的本地服務器還是稱爲頂級域「com」?

拖尾點消除了歧義:「com。」是頂級域名。

所以http://www.指的是頂級域名「www」。即使此頂級域名尚不存在,它也是一個有效的URI。 (雖然它可能存在;我沒有檢查過。)

相關問題