Detecter un dossier sur un serveur FTP [VB.NET] [Résolu]

- 5 déc. 2012 à 11:22 - Dernière réponse :  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.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
- 6 déc. 2012 à 14:40
3
Merci
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.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
3
Merci
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!

Merci kelustar 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de kelustar
- 5 déc. 2012 à 11:38
0
Merci
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()
Commenter la réponse de Utilisateur anonyme
0
Merci
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?
Commenter la réponse de kelustar
- 6 déc. 2012 à 12:56
0
Merci
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")
Commenter la réponse de Utilisateur anonyme
0
Merci
Mon programme ne reconnait ni "webproxy" ni "credentialnetwork" me manque-t-il une dll pour qu'il les reconnaisse?
Commenter la réponse de kelustar
0
Merci
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
Commenter la réponse de kelustar
0
Merci
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.
Commenter la réponse de kelustar
- 6 déc. 2012 à 18:31
0
Merci
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.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.