2017-02-08 1 views
2

J'essaie de me connecter à un serveur FTP z/OS pour télécharger des fichiers mais je dois d'abord les lister afin de savoir lequel est le plus récent. Le serveur dispose d'un certificat inconnu que je dois faire confiance et je l'ai utilisé le code ci-dessous qui comprenait un avertissement de ne pas utiliser dans la productionFTP sur SSL vers z/OS pour lister les fichiers du répertoire

ServicePointManager.ServerCertificateValidationCallback = 
    delegate (
     object s, 
     X509Certificate cert, 
     X509Chain chain, 
     SslPolicyErrors sslPolErrors) { return true; }; 

Je vais avoir une période très difficile la liste des fichiers dans le répertoire I » m après. Il semble que z/OS soit une vraie douleur. J'ai fondamentalement besoin de me connecter au serveur FTP via SSL, ce que j'ai réussi à faire mais changer de répertoire de travail s'est avéré difficile.

string ftpPath = @"ftp://192.168.1.1/'THE.DIRECTORY.I.NEED.TO.CONNECT.TO'"; 
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(remoteFtpPath); 
request.Method = WebRequestMethods.Ftp.ListDirectory; 
request.Credentials = new NetworkCredential("username","password"); 
request.KeepAlive = request.UsePassive = request.EnableSsl = true; 

Suis-je connecter au répertoire de travail que je dois avec mon ftpPath chaîne ? Si non, quelle est la bonne façon de changer de répertoire de travail? La seule façon que j'ai vu pour le faire après une recherche google est de l'inclure dans ma chaîne ftpPath.

L'erreur que je me le faire de cette façon est donnée 550 No data sets found...

Répondre

3

L'URL de la méthode ListDirectory devrait en fin générale avec une barre oblique.

Sans barre oblique, les résultats ont tendance à être incertains, en grande partie en fonction de l'implémentation du serveur FTP.