Как проверить действительный адрес URL?C#

Место общения программистов C#
Ответить
Anonymous
 Как проверить действительный адрес URL?

Сообщение Anonymous »

У меня есть простой код, который получает путь URL и перенаправляет этот URL: < /p>
private void Redirect(String path)
{

Uri validatedUri = null;
var result = Uri.TryCreate(HelpURL + path, UriKind.Absolute, out validatedUri);
if (result&&validatedUri!=null)
{
var wellFormed = Uri.IsWellFormedUriString(HelpURL + path, UriKind.Absolute);
if(wellFormed)
{
Response.Write("Redirect to: " + HelpURL + path);
Response.AddHeader("REFRESH", "1;URL=" + HelpURL + path);
}
else //error
{
Response.Write(String.Format("Validation Uri error!", path));
}

}
else
{
Response.Write(String.Format("Validation Uri error!", path));
}
}
< /code>
Пример URL:http://web-server/SomeSystemindex.html. Это не допустимый адрес, но:
в моем результате кода это правда, хорошо сформированный тоже верно!
Как проверить адрес URL? /p>
p.s. HELLURL+PATH =http://web-server/SomeSystemindex.html для этого случая. Где справка, http: // web-server/somesystem 'и path =index.html
p.p.s. Я делаю, как говорит Мартин- создать соединение и проверять код состояния. < /P>
HttpWebRequest req = WebRequest.Create(HelpURL + path) as HttpWebRequest;
req.UseDefaultCredentials = true;
req.PreAuthenticate = true;
req.Credentials = CredentialCache.DefaultCredentials;

var statusCode= ((HttpWebResponse)req.GetResponse()).StatusCode;

if (statusCode == HttpStatusCode.NotFound)
isValid = false;
else if (statusCode == HttpStatusCode.Gone)
isValid = false;
else
{
isValid = true;
}


Подробнее здесь: https://stackoverflow.com/questions/385 ... rl-address
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»