Bonjour,

J'ai besoin de télécharger et transmettre des fichiers sur un site FTP à partir d'une application Windows Forms développée en VB.net.

J'ai suivi différents tutoriaux et exemples mais je ne parviens pas a me connecter sur mon site.
Pour l'exemple mon identifiant de connexion donne un accès complet à toute l'arborescence du site FTP (c'est le propriétaire) et je l'utilise quotidiennement soit via Filezilla, soit directement dans l'explorateur de fichiers de Windows.

Je précise que les identifiants de connexion (login et mot de passe) sont placés dans le code par un copier/coller pour éviter tout risque de faute de frappe.

L'erreur est déclenchée par la méthode FtpWebRequest.GetResponse.

Voici le code utilisé (avec des valeurs fictives en ce qui concerne les identifiants):
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
Imports System.Net
Imports System.IO
 
sub ConnexionFTP
	Dim Site As FtpWebRequest
	Dim mServeur As String = "ftp://www.monserveur.fr/"	-- Chaine d''accès au serveur FTP
	Dim mLogin As String = "monlogin"
	Dim mPW As String = "monPW"
 
	--	 Initialisation de la connexion
	Site = DirectCast(WebRequest.Create(mServeur), FtpWebRequest)
	Site.Credentials = New NetworkCredential(mLogin, mPW)
 
	--	 Demande la liste des fichiers sur sous-dossier
	Site.Method = WebRequestMethods.Ftp.ListDirectory
 
	Dim Contenu As FtpWebResponse = DirectCast(Site.GetResponse, FtpWebResponse)
	/*	 l'instruction précédente lève une exception:
		'System.Net.WebException: Impossible de se connecter au serveur distant
		'	   à System.Net.FtpWebRequest.CheckError()
		'	   à System.Net.FtpWebRequest.GetResponse()
       */
 
end sub

J'avais initialement utilisé comme adresse de serveur ce que j'emploie dans Filezilla et Windows Explorer : "ftp.Monsite.fr"
Là encore je respecte strictement les majuscules et minuscules.
J'ai aussi essayé en passant comme adresse de serveur une URI obtenue avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim Url As New Uri(mServeur)
sans plus de succès...

P.S. désolé pour la mauvaise lisibilité du code, il n'est pas interprété ici comme du VB.