Страницы: 1
RSS
Проверить наличие файла на сайте
 
Всем привет!  
Подскажите, пожалуйста, возможно ли каким-то образом проверить наличие файла на сайте?  
На работоспособность сайта всегда проверял функцией WMIPing, которая во вложении. Но в данной ситуации она не срабатывает.  
Заранее благодарен.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Отписал тебе в ICQ:  
 
 
Function GetURLstatus(ByVal URL$, Optional ByVal timeout& = 2) As Long  
   ' функция проверяет наличие доступа к ресурсу URL$ (файлу или каталогу)  
   ' возвращает код ответа сервера (число), либо 0, если ссылка ошибочная  
   ' (200 - ресурс доступен, 404 - не найден, 403 - нет доступа, и т.д.)  
   On Error Resume Next: URL$ = Replace(URL$, "\", "/")  
   Dim xmlhttp As New WinHttpRequest  
   xmlhttp.Open "GET", URL, True  
   xmlhttp.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"  
   xmlhttp.send  
   If xmlhttp.WaitForResponse(timeout) Then  
       GetURLstatus = Val(xmlhttp.Status)  
   Else  
       GetURLstatus = 408 ' Request Timeout (истекло время ожидания)  
   End If  
End Function  
 
 
требуется ссылка на библиотеку (для WinHttpRequest)
 
Спасибо за функцию.  
Игорь, см.вложение, а как быть в данном случае?  
Спасибо.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Спасибо, получилось вот так.  
Вроде бы работает
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Богдан, в Вашем варианте попробуйте в ячейку ввести адрес несуществующего домена, например http://www.webmag1.ru/... - выдаст True, что неправильно.  
Впрочем, для Вашего конкретного случая это может быть и не важным.  
Но для данного случая все же можно доработать код Игоря так:  
 
If xmlhttp.waitForResponse(timeout) Then  
   If InStr(xmlhttp.responseText, "Warning") Then  
     GetURLstatus = 204 ' No Content  
   Else  
     GetURLstatus = Val(xmlhttp.Status)  
   End If  
 Else  
   GetURLstatus = 408  ' Request Timeout (истекло время ожидания)  
 End If
 
Точно, спасибо!
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Страницы: 1
Наверх