Как проверить FTP соединение? - PullRequest
8 голосов
/ 13 июля 2010

Существует ли простой и быстрый способ проверить правильность и работоспособность FTP-соединения (включая хост, порт, имя пользователя и пароль)?Я использую C #.Спасибо.

Ответы [ 5 ]

16 голосов
/ 13 июля 2010

попробуйте что-то вроде этого:

        FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Create("ftp://ftp.google.com");
        requestDir.Credentials = new NetworkCredential("username", "password");
        try
        {
            WebResponse response = requestDir.GetResponse();
            //set your flag
        }
        catch
        {
        }
6 голосов
/ 17 ноября 2011

/ * Hola Este es el metodo que utilizo si conoces uno mejor hasmelo saber Убирахара 100% мексиканский isc.erthal@gmail.com * /

private bool isValidConnection(string url, string user, string password)
        {
            try
            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
                request.Method = WebRequestMethods.Ftp.ListDirectory;
                request.Credentials = new NetworkCredential(user, password);
                request.GetResponse();
            }
            catch(WebException ex)
            {
                return false;
            }
            return true;
        }
3 голосов
/ 13 июля 2010

Вы можете попробовать использовать System.Net.FtpWebRequest, а затем просто проверить метод GetResponseStream.

Так что-то вроде

System.Net.FtpWebRequest myFTP = new System.Net.FtpWebRequest

//Add your credentials and ports

try
{
    myFTP.GetResponseStream();
   //set some flags
}
catch ex
{
  //handle it when it is not working
}
1 голос
/ 13 июля 2010

Используйте System.Net.FtpWebRequest или System.Net.WebRequestMethods.Ftp , чтобы проверить подключение с использованием учетных данных для входа.Если по какой-либо причине не удается выполнить FTP-запрос, будет возвращено соответствующее сообщение об ошибке, в котором будет указана проблема (аутентификация, невозможность подключения и т. Д.)

0 голосов
/ 29 ноября 2012

Это сайт MSDN для воспроизведения файлов с сервера

public static bool DisplayFileFromServer(Uri serverUri)
{
// The serverUri parameter should start with the ftp:// scheme. 
if (serverUri.Scheme != Uri.UriSchemeFtp)
{
    return false;
}
// Get the object used to communicate with the server.
WebClient request = new WebClient();

// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
try 
{
    byte [] newFileData = request.DownloadData (serverUri.ToString());
    string fileString = System.Text.Encoding.UTF8.GetString(newFileData);
    Console.WriteLine(fileString);
}
catch (WebException e)
{
    Console.WriteLine(e.ToString());
}
return true;
}
...