Вежливая проверка существования файла перед загрузкой

Я пытаюсь загрузить файлы, используя вызов Net.WebClient для DownloadFile.

Using client As New Net.WebClient()   
  Try
    client.DownloadFile(PDFURL, FullPDFFilePath)

Затем я перехватываю исключение и проверяю сообщение на наличие ошибок 403, 404 или 500 (наиболее распространенный тип для системы, к которой мы обращаемся.

 Catch ex as exception
   If exceptionMessage.Contains("(403)") Then 'Forbidden
     LogInformation("403 returned on download for " + CRPOrderNum, "DownloadLabels")

   ElseIf exceptionMessage.Contains("(404)") Then 'Not Found
     LogInformation("404 returned on download for " + CRPOrderNum, "DownloadLabels")

   else
     'blah blah
   end if
 finally
 end try

Есть ли вежливый способ запросить файл вместо вызова DownloadFile и обработки исключения?

Заранее спасибо.


person cometbill    schedule 11.05.2011    source источник


Ответы (1)


«Вежливым» способом было бы отправить запрос HEAD. К сожалению, WebClient изначально не поддерживает это, поэтому вам придется либо создайте свой собственный или используйте вместо этого HttpWebRequest.

person Chris Haas    schedule 11.05.2011