Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[.NET2] CLIENT FTP: OU COMMENT UTILISER LES CLASSES FTPWEBRESQUEST/FTPWEBRESPONSE


Information sur la source

Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous : client, ftp, ftpwebrequest, download, upload Niveau : Débutant Date de création : 20/03/2007 Date de mise à jour : 21/03/2007 00:38:06 Vu / téléchargé: 11 477 / 1 690

Note :
8,71 / 10 - par 7 personnes
8,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Simple client Ftp (petit quand même) composé d'une classe principale FtpClient. Cette classe utilise en masse les classes du Framework FtpWebRequest et FtpWebResponse.
Pour le moment le transfert de fichiers avec le serveur FTP se fait en synchrone (peu rapide).

Ce code peut servir de base pour quelques VBéiste.Net ambitieux et peux largement être optimisé niveau rapidité.
Le code est également commenté comme il se doit

Voila je vous laisse découvrir les possibilités du FTP avec les classes du Framework... ;)
 

Conclusion

NB: Le téléchargement/envoie de fichier en asynchrone sera ajouté d'ici peu car en effet un problème de sécurité .NET m'empêche de tester ce mode.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

21 mars 2007 00:38:06 :
maj zip

Commentaires et avis

signaler à un administrateur
Commentaire de Persons le 24/03/2007 10:38:57

Bonjour, apparemment une exception est levée ici (j'ai essayé de me connecter à plusieurs ftp) :

Private Sub CreateFtpWebRequest(ByVal path As String)

        m_WebClient = CType(FtpWebRequest.Create(path), FtpWebRequest)

Mais je n'arrive pas à comprendre pourquoi?

signaler à un administrateur
Commentaire de Patrice99 le 24/03/2007 10:57:47

Voici quelques liens :

http://webman.developpez.com/articles/dotnet/reseau/vb/net/#L4

An FTP client library for .NET 2.0
www.codeproject.com/vb/net/FtpClient.asp

www.csharpfr.com/codes/NET-FREE-FTP_37948.aspx
www.vbfrance.com/code.aspx?ID=35410

www.codeproject.com/useritems/FtpPublisher.asp : synchro FTP
www.codeproject.com/cs/internet/SimpleFTPDemo.asp
www.codeproject.com/useritems/FtpDotNet.asp
www.codeproject.com/cs/library/downloader.asp : asynch
www.codeproject.com/useritems/Downloader.asp
www.codeproject.com/csharp/FileDownloadManager.asp
www.codeproject.com/useritems/filedownloader.asp

- Multiple File Uploads, C# and NeoSwiff By DFU23
  www.codeproject.com/useritems/neoswiff_upload.asp

- This article demonstrates how to post values to forms and
  how to upload files directly from .NET with the WebRobot component
  www.codeproject.com/useritems/multipartformfileupload.asp

- Voir aussi My.Computer.DownloadFile et UploadFile

VB6 :
www.vbfrance.com/codes/CLASSE-FTP-SANS-API-NI-OCX_32161.aspx

signaler à un administrateur
Commentaire de Children le 13/04/2007 10:38:08

Maquestion va paraitre bête, mais ç quoi cela sert exactement?

signaler à un administrateur
Commentaire de Mastronic le 26/04/2007 14:15:36

Bonjour,

Comme Persons,j'ai la meme exeption qui claque. donc pas d'appreciation pour l'instant.

signaler à un administrateur
Commentaire de Willi le 26/04/2007 16:37:00 administrateur CS

...Et quelle est le message retourné par l'eception levée ?

signaler à un administrateur
Commentaire de bacchusmaster le 03/05/2007 17:54:37

Salut!

Impressionant en tout cas!
Moi j'ai un petit probleme en VB2005.
Sur la fonction upload, au passage de 'Dim RemoteStreamW As Stream = m_WebClient.GetRequestStream' il leve l'exeption comme quoi le fichier n'exite pas sur le FTP (erreur 550 fichier non disponible). Ce qui est pourtant logique mais bon...Je ne comprends pas vraiment...
Et sinon il une erreur de copier/collé dans cette meme fonction : DownloadFile(LocalFile, RemoteFilePath) en cas d'exeption o_O

Merci d'avance si tu trouves la solution au pb
@+

signaler à un administrateur
Commentaire de christian_grandjean le 13/06/2007 22:59:06

Bonsoir.
Afin de corriger le problème d'exception il suffit de ne pas surcharger l'opérateur avec CType

Chaner de :
      m_WebClient = CType(FtpWebRequest.Create(path), FtpWebRequest)
Vers :
      m_WebClient = FtpWebRequest.Create(path)

Voilà c'est tout !

signaler à un administrateur
Commentaire de Persons le 14/06/2007 11:06:37

Bonjour,

Merci pour la correction, j'arrive maintenant à me connecter à un serveur FTP.
Dommage qu'il n'y ait pas  de gestion d'erreurs

signaler à un administrateur
Commentaire de Mastronic le 02/07/2007 16:43:56

Tres bon travail..
pour ne pas avoir l'exeption, si votre IP est 127.0.0.1, il suffit de saisir dans la case "Adresse ftp:"

ftp://127.0.0.1


et il y aura pas d'exeption sur la ligne:  m_WebClient = CType(FtpWebRequest.Create(path), FtpWebRequest)

Encore bon travail..

signaler à un administrateur
Commentaire de Apocalypse_13 le 20/05/2008 19:23:46

Trés bon boulot également, mais j'ai aussi l'exception sur le 'Dim RemoteStreamW As Stream = m_WebClient.GetRequestStream' ! Si le fichier est présent sur le serveur ftp (et que c'est le même) il n'y a pas de soucis pour l'upload. Si le fichier n'existe pas : exception (550).
Merci

signaler à un administrateur
Commentaire de Hauwee le 14/07/2008 23:03:13

Bonsoir,
Je souhaite développer un petit utilitaire FTP (Application WPF --> Visual Basic 2008 et présentation en XAML) pour me permettre d'envoyer rapidement des fichiers sur ma Freebox. Je m'aide de ce code (converti en solution Visual Basic 2008) pour apprendre l'utilisation du FTPWebRequest. Le problème est que si j'envoie quelque chose, tout est OK. Si je consulte, je vois bien les fichiers envoyés. Or si je vais voir sur ma Freebox, il n'y aucun fichier ! Quelqu'un voit-il d'où ça pourrait venir ?

signaler à un administrateur
Commentaire de Hauwee le 17/07/2008 00:06:21

Bonsoir,
En sniffant mon réseau avec Wireshark/Ethereal, je peux voir l'erreur qui est soulevée et qui est non recensée par le programme présentée ici.

1. --> Response: 230-\t\tBienvenue sur le serveur FTP Freebox.
2. --> Response: 230-
3. --> Request: OPTS utf8 on
4. --> Response: 500 Syntax error, command unrecognized.

En faisant un essai avec le petit programme FTP-It et qui fonctionne, voici ce que ça donne :

1. Idem
2. Idem
3. --> Request: TYPE I
4. --> Response: 200 Command Okay.

En espérant que ces indications vous aident ... pour m'aider :)
Pour info, je suis sous Vista Business

signaler à un administrateur
Commentaire de Hauwee le 21/07/2008 11:16:26 10/10

Je vais donc répondre à mon propre problème. En fait, il s'agit ni plus ni moins qu'un filtre appliqué à la Freebox. Celle-ci ne semble afficher que les fichiers AVI et TS, or je faisais mon essai avec un MP3. Il est vrai que quand on parle de la Freebox HD, on parle de magnétoscope numérique, donc vidéos. Mais comme il y a un FTP je pensais pouvoir également envoyer des MP3 et des photos pour lire/afficher tout ça sur la Freebox. Dommage :(
Donc l'envoi fonctionne parfaitement même si je n'explique pas l'erreur que j'ai mentionnée dans le post juste au dessus.

signaler à un administrateur
Commentaire de gillardg le 01/10/2008 13:36:07 9/10

merci WILLY ton prog va m' être très utile
9/10

signaler à un administrateur
Commentaire de dsigmoun le 27/10/2008 09:51:29

quelle est l'instruction pour lancer un téléchargement ? Voici que que j'ai mis.
'Listbasenv.Items(t)--> nom du fichier
'IO.Directory.GetCurrentDirectory & cour & "basedeconnaissance\" --> répertoire de destination
Ftp.DownloadFile(Listbasenv.Items(t), IO.Directory.GetCurrentDirectory & cour & "basedeconnaissance\", 1)


Merci pour votre aide,

signaler à un administrateur
Commentaire de Pachanka le 18/11/2008 13:49:56 8/10

belle source
c'est dommage il manque le tri par ordre alpha des dossiers
et pis le ptit dossier .. pour remonter d'un niveau

signaler à un administrateur
Commentaire de Pachanka le 18/11/2008 15:02:50

pour le tri alpha, il suffit de remplacer la fonction Compare dans le fichier EntryComparer.vb par


    Public Function Compare(ByVal x As EntryInfo, ByVal y As EntryInfo) As Integer Implements IComparer(Of EntryInfo).Compare

        If x.Type = DirectoryEntryTypes.Directory And y.Type = DirectoryEntryTypes.File Then
            Return -1
        ElseIf y.Type = DirectoryEntryTypes.Directory And x.Type = DirectoryEntryTypes.File Then
            Return 1
        End If

        If x.Filename.ToLower < y.Filename.ToLower Then
            Return -1
        Else
            Return 1
        End If

    End Function

signaler à un administrateur
Commentaire de Pachanka le 18/11/2008 16:15:56

et pis pour le dossier ..
dans la fonction GetDirectoryDetails
sous la libération des ressources il faut rajouter

        Dim ei As New EntryInfo
        ei.Filename = ".."
        ei.Type = DirectoryEntryTypes.Directory
        colEntry.Add(ei)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

A propot d'un Client FTP(WinSockets) [ par macilia ] Bonjour ; Je suis macilia âgée de 24 ans, je cherche le code source d'un Client FTP qui permet le transfert des fichiers de manière asynchrone, le s A propot d'un Client FTP(WinSockets) [ par macilia ] Bonjour ; Je suis macilia âgée de 24 ans, je cherche le code source d'un Client FTP qui permet le transfert des fichiers de manière asynchrone, le s A propot d'un Client FTP(WinSockets) [ par macilia ] Bonjour ; Je suis macilia âgée de 24 ans, je cherche le code source d'un Client FTP qui permet le transfert des fichiers de manière asynchrone, le s comment creer un client FTP [ par mr.baron ] Si qqun pouvait m'expliquer le fonctionnement d'un client FTPET me donner un source d'un client FTP tres simplifié !je lui en serais reconnaissant Download et upload internet [ par Dragon ] quelqu`un peut me dire comment download et uploader sur internet avec une bare de progression pour savoir on est rendu à combien de % Au sujet d'un FTP client (WinSockets) (Commandes FTP) [ par kanimana ] Bonjour tout le monde ; Je cherche le code source d'un FTP client écrit en VisualC++6 ou en VB utilisant les fonctions WinSocket API et les comman Word : dowload du serveur, modification sur le client, upload vers le serveur. [ par Toto ] Je souhaite qu'une personne puisse downloader un fichier (*.doc) de mon serveur, l'ouvrir sur son poste client, y faire les modifs nécessaires... et q Upload ftp image pour webcam [ par Rs232 ] je cherche a savoir comment faire pour a partir de vb6 faire un upload d'image toute les...(reglabe par le prog)sur un serveur ftp utilisant une pictu Upload FTP [ par Sirotilc ] Quelqu'un pourrait me dire comment uploader un fichier simplement par FTP ???Tout ce que j'ai trouvé sur VBFrance.com ne marche pas correctement ou es Inet : FTP upload avec user et pass en VB6 [ par Yves ] J'uitilise Inet pour uploader un fichier sur un serveur ftp. La commande que j'utilise ressemble à ceci:Inet1.Execute "ftp://user:pass@mon.serveur.ftp


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.