Detecter un dossier sur un serveur FTP [VB.NET]

Résolu
kelustar - 5 déc. 2012 à 11:22
 Utilisateur anonyme - 6 déc. 2012 à 18:31
Bonjour,

Je souhaiterais pouvoir détecter si un dossier zippé existe sur un serveur FTP (FileZilla). Voici mon code mai malheuresement le programme ne rentre jamais dans la condition meme si celle-ci est valide :

If (System.IO.File.Exists("ftp://username:password@ftpadress/miseajour_1.7z")) Then

MsgBox("Le dossier existe")

End If

J'ai bien sur remplacé les champs par les coordonnées de mon serveur FTP. Pouvez- vous m'aider?

Cordialement,
Luc Baugnies.

9 réponses

Utilisateur anonyme
6 déc. 2012 à 14:40
Mais si voyons, rajoutes les imports nécéssaires :
request.Proxy New System.Net.WebProxy With {.Address ...}


Et pour NetworkCredential, je reconnais que j'ai fait une inversion.
3
J'ai trouvé solution à mon problème. La méthode était la suivante :
request.Proxy = New System.Net.WebProxy()
        request.Proxy.Credentials = New System.Net.NetworkCredential("username", "password", "host")


Merci Beaucoup pour votre aide!
3
Utilisateur anonyme
5 déc. 2012 à 11:38
Bonjour,

Tu peux récupérer la liste des fichiers présents dans un tableau par exemple avec cette méthode :
'tableau devant récupérer les résultats
Dim resultat() As String
Dim request As System.Net.FtpWebRequest = System.Net.FtpWebRequest.Create("ftp://login:pass@serveur.com/")
'demande d'une liste
request.Method = System.Net.WebRequestMethods.Ftp.ListDirectory
'envoi de la requete et récupération de la réponse
Dim response As IO.Stream = request.GetResponse().GetResponseStream
'lecture de la réponse et remplissage du tableau
Using reader As New IO.StreamReader(response)
    resultat = reader.ReadToEnd.Split(Environment.NewLine)
End Using
response.Close()
0
Bonjour,

Merci pour votre réponse. Je reçoit maintenant une erreur sur la commande :

Dim response As IO.Stream = request.GetResponse().GetResponseStream


L'erreur est la suivante : "Le serveur distant a retourné une erreur : (407) Authentification proxy requise."

Est-ce qu'i faut que je configure mon serveur FTP pour résoudre à ce problème?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
6 déc. 2012 à 12:56
Je ne l'ai jamais utilisé mais il me semble que l'objet WebProxy à fournir en instance à la propriété Proxy de ton objet 'request' devrait fonctionner.
request.proxy = new webproxy with {....}

Sinon peut être qu'un simple credential suffirait.
request.credential = new credentialnetwork("host","pass")
0
Mon programme ne reconnait ni "webproxy" ni "credentialnetwork" me manque-t-il une dll pour qu'il les reconnaisse?
0
Lorsque je veut mettre mon adresse il me dit que le nom n'est pas déclaré j'ai essayé de la mettre en guillemets mais à ce moment la l'erreur devient un string ne peut etre convertie en un string.uri.
Quels sont aussi les autres champs que je dois inserer? Désolé je débute en vb.net

Par contre l'instruction Networkcredential ne fonctionne toujours pas
0
Avec la technique suivante :
request.Credentials = New System.Net.NetworkCredential("username", "password", "domain")


Le programme m'affiche pourtant bien les bonnes valeurs aux bon champs quand je clique sur request.credentials en mode debug mais l'erreur 407 persiste.
0
Utilisateur anonyme
6 déc. 2012 à 18:31
C'est bien d'être revenu pour donner une solution. Peu le font.
Pense à valider les réponses qui t'ont aidé ainsi que ta solution (ça pourra servir à d'autres personnes.
A bientôt.
0
Rejoignez-nous