Когда вы говорите «URL, который просто недействителен», вы имеете в виду неправильно сформированный URL или правильно сформированный URL, который нигде не разрешается?Я почти уверен, что вы имеете в виду первое.
Если вы просто ищете правильную форму, я предлагаю попробовать разобрать его в Uri
объект:
string testUrl = "http://stackoverflow.com/";
Uri goodUri;
if (Uri.TryCreate(testUrl, UriKind.Absolute, out goodUri)) {
// testUrl == well-formed URI
}
Я часто использую класс Uri
, особенно перед тем, как пытаться вставить его в API-интерфейс SharePoint для сайтов и веб-сайтов.Мне, как правило, приходится взламывать некоторые из них, либо сделать относительный URL-адрес абсолютным для моего текущего сервера SP, либо получить части пути для разрешения относительных местоположений с текущего сайта.
Простодля полноты, если вы когда-либо пытаетесь определить, разрешается ли где-то URL-адрес или нет, вы можете создать HTTP-запрос и проверить его:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(goodUri);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
if (resp.StatusCode == HttpStatusCode.OK) {
// Received 200 OK -- probably a valid URL
}
resp.Close();
Конечно,Пример HTTP выше невероятно, наивно, прост.Могут быть любые ответы или требования для определенных свойств запроса, которые необходимо установить, и т. Д. Для получения дополнительной информации см. Документацию для HttpWebRequest и HttpWebResponse