Используя WebRequest, попробуйте этот код я нашел
Привет, это должно работать нормально:
Imports System.Net
Dim request = _
DirectCast(WebRequest.Create _
("ftp://ftp.example.com/folder_here/"), FtpWebRequest)
request.Credentials = _
New NetworkCredential("user_here", "pass_here")
request.Method = WebRequestMethods.Ftp.ListDirectory
Try
Using response As FtpWebResponse = _
DirectCast(request.GetResponse(), FtpWebResponse)
' Folder exists here
MsgBox("exists!")
End Using
Catch ex As WebException
Dim response As FtpWebResponse = _
DirectCast(ex.Response, FtpWebResponse)
'Does not exist
If response.StatusCode = _
FtpStatusCode.ActionNotTakenFileUnavailable Then
MsgBox("Doesn't exist!")
End If
End Try
..следующие Идея заключается в том, что мы используем класс FtpWebRequest и передать имя папки с слэш "/", если папка найдена, тогда ответ будет обработан в блоке Try-Catch, если папка не может быть найдена, мы обрабатываем контроль исключения с помощью statusCode (ActionNotTakenFileUnavailable), чтобы определить, не вызывает ли отсутствие папки исключение. Это должно работать нормально.
Sources First answer
--------------- Пожалуйста, попробуйте --------------------- -
Public Function CheckIfFtpFileExists(ByVal fileUri As String) As Boolean
Dim request As FtpWebRequest = WebRequest.Create(fileUri)
request.Credentials = New NetworkCredential("username", "password")
request.Method = WebRequestMethods.Ftp.GetFileSize
Try
Dim response As FtpWebResponse = request.GetResponse()
' THE FILE EXISTS
Catch ex As WebException
Dim response As FtpWebResponse = ex.Response
If FtpStatusCode.ActionNotTakenFileUnavailable = response.StatusCode Then
' THE FILE DOES NOT EXIST
Return False
End If
End Try
Return True
End Function
Get называеться так:
If CheckIfFtpFileExists("ftp://ftp.domain.com/filename.txt") Then
' Do something
End If
Sources
В запросе FTP нет смысла пинговать. Запрос FTP будет возвращать ошибку, если в любой момент сервер опустится или не ответит. – dbasnett
Является ли ваше намерение исключительно видеть, можете ли вы получить ответ с FTP-сервера, или вы планируете сделать что-нибудь еще после этого, например, попытаться подключиться к нему? –
@dbasnett, пожалуйста, дайте быстрый пример, не уверен, правильно ли я понимаю его. – rip2444