Я пишу приложение .NET 3.5 и использую URI.IsWellFormedUriString(string uriString, UriKind uriKind)
для проверки введенных пользователем URI; используя UriKind.Absolute
. Я просто играл с приложением, и я немного обеспокоен и смущен, почему что-то вроде:
http://ddd
является действительным URI? Что дает? Я знаю, что это потому, что это часть RFC, но почему он действителен в первую очередь?
Единственный раз, когда я видел подобные URI, это для корпоративных внутренних сетей, таких как
http://companyinet
или
http://localhost (что очень популярно, но также и особый случай)
Я не хочу использовать свое собственное регулярное выражение, поскольку существует так много различных регулярных выражений URI. Однако я не хочу, чтобы пользователи вводили такие URI, которые не являются общедоступными.
Есть идеи или мысли? Спасибо.