Как мне проверить, существует ли URL-адрес или нет? - PullRequest
2 голосов
/ 22 сентября 2011

Мы размещаем отчеты SSIS на наших серверах и храним их пути в таблице SQL Server.Из .Net я хочу быть в состоянии убедиться, что введенный путь правильный.

Это должно вернуть "true", потому что там есть отчет, например:

  http://server/Reports/Pages/Viewer.aspx?%2fShopFloor%2fProduction+by+Turn&rs:Command=Render

Это должно вернуть false.

http://I am an invalid location/I am laughing at you/now I'm UEEing

Я смотрел WebRequestsно я не знаю, должен ли я идти по этому пути.

Любая помощь будет оценена.Спасибо!

Ответы [ 3 ]

3 голосов
/ 22 сентября 2011

Вы можете попытаться сделать запрос HEAD, чтобы проверить, что ресурс существует.При запросе HEAD вам потребуется только HTTP-код (200 = Успешно, 404 = Не найдено) без использования ресурсов или избыточной памяти для загрузки всего ресурса.Взгляните на HttpWebRequest класс для выполнения фактического запроса.

2 голосов
/ 22 сентября 2011

Сделайте http HEAD запрос к URL, который должен просто извлечь заголовки. Таким образом, вам не нужно загружать всю страницу, если она существует. по возвращенным заголовкам (если они есть) вы сможете определить, правильный ли это URL или нет.

0 голосов
/ 22 сентября 2011

Я не уверен в точном расположении вашей сети, но если приложение .net имеет видимость места, где хранятся отчеты, вы можете использовать File.Exists().В противном случае, mellamokb и red-X имеют правильную идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...