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

cs_Persons Messages postés 11 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 1 juin 2009 - 24 mars 2007 à 10:38
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008 - 16 sept. 2012 à 12:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41909-net2-client-ftp-ou-comment-utiliser-les-classes-ftpwebresquest-ftpwebresponse

DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
16 sept. 2012 à 12:25
Petite précision.
Un fichier de valeur nulle passe. Plus de 1 octet, ne passe pas !?!
Merci
DocPhiphi Messages postés 42 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 4 novembre 2008
16 sept. 2012 à 11:50
Bonjour.
Je cherchais une source de FTP pour faire une appli de gestion d'images pour un site de photos.
J'ai trouvé avec cette source, MAIS :
L'upload ne fonctionne pas. J'ai un message d'erreur "Le serveur distant a retourné une erreur : (550) Fichier non disponible (par exemple fichier introuvable, accès impossible)".
J'ai vérifié, les chemins source et destination sont corrects.
Une idée ?
Merci d'avance.
cs_bonnoccaz Messages postés 6 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 5 mai 2013
2 mars 2011 à 19:39
Filezilla sous windows 7 fonctionne très bien..

SOUS WINDOWS 7 (VB.NET 2008) il y a l'erreur que personne 'w7' arrive à le résoudre jusqu'à preuve du contraire, car j'ai essayer de changer:

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

Ça change rien chez moi..

Mais sous vb6 (XP) a l'époque ca fonctionne bien.. (virtualbox).

j'ai oublie ou je les vue sur le net.. il y a un EXÉCUTABLE FTP configurable par fichier .xml (2 fichier), simple et facile, il gère que le glisser déposer, pas très sécurise, je vous l'accord.

j'ai Opté pour du PHP ( en ligne ;-( ), vue qu'il y a pas WEB FTP \ sans WEB / .. (Internet) \--/
christian_grandjean Messages postés 25 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 19 novembre 2013 2
2 mars 2011 à 17:49
J'utilise encore ce code en VB.NET 2010 et Windows 7 dans mon LOTRO Carto et Warhammer Carto.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
1 mars 2011 à 15:56
Tu as testé FileZilla déjà pour voir si le FTP marche ?
Ephebe24 Messages postés 14 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 28 février 2011
28 févr. 2011 à 19:14
Je sais que ce post est bien vieux mais, quelqu'un aurait il développé un ftp en vb 2008 mais sous windows 7. Toutes les sources trouvées sur internet ne fonctionnent pas sur mon pc
cs_bonnoccaz Messages postés 6 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 5 mai 2013
13 mai 2010 à 19:57
Sous Visual Basic 2008 [vb8] sous windows 7 forcement..

Aucune connexion, il tourne en bouble, le process aussi

Puis j'ai cette erreur:

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

! URI Invalide impossible de détermine le format

Avez ce message ?
cs_Hurel Messages postés 2 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 avril 2010
10 avril 2010 à 19:34
La classe FtpClient de ce projet m'a été super utile pour piger le fonctionnement de FtpWebrequest &Co (qui est super mal documenté sur MSDN). Un petit regret, les commentaires du code de Willi sont parfois, à mon goût, pas assez détaillés mais en tous cas, c'est un travail très propre et très clair.

Un grand merci à Willi.
cs_Pachanka Messages postés 19 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 9 janvier 2009
18 nov. 2008 à 16:15
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)
cs_Pachanka Messages postés 19 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 9 janvier 2009
18 nov. 2008 à 15:02
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
cs_Pachanka Messages postés 19 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 9 janvier 2009
18 nov. 2008 à 13:49
belle source
c'est dommage il manque le tri par ordre alpha des dossiers
et pis le ptit dossier .. pour remonter d'un niveau
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 2
27 oct. 2008 à 09:51
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,
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
1 oct. 2008 à 13:36
merci WILLY ton prog va m' être très utile
9/10
Hauwee Messages postés 79 Date d'inscription vendredi 8 décembre 2006 Statut Membre Dernière intervention 29 janvier 2010
21 juil. 2008 à 11:16
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.
Hauwee Messages postés 79 Date d'inscription vendredi 8 décembre 2006 Statut Membre Dernière intervention 29 janvier 2010
17 juil. 2008 à 00:06
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
Hauwee Messages postés 79 Date d'inscription vendredi 8 décembre 2006 Statut Membre Dernière intervention 29 janvier 2010
14 juil. 2008 à 23:03
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 ?
Apocalypse_13 Messages postés 1 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 20 mai 2008
20 mai 2008 à 19:23
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
Mastronic Messages postés 94 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 13 juin 2012
2 juil. 2007 à 16:43
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..
cs_Persons Messages postés 11 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 1 juin 2009
14 juin 2007 à 11:06
Bonjour,

Merci pour la correction, j'arrive maintenant à me connecter à un serveur FTP.
Dommage qu'il n'y ait pas de gestion d'erreurs
christian_grandjean Messages postés 25 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 19 novembre 2013 2
13 juin 2007 à 22:59
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 !
bacchusmaster Messages postés 4 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 17 octobre 2007
3 mai 2007 à 17:54
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
@+
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
26 avril 2007 à 16:37
...Et quelle est le message retourné par l'eception levée ?
Mastronic Messages postés 94 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 13 juin 2012
26 avril 2007 à 14:15
Bonjour,

Comme Persons,j'ai la meme exeption qui claque. donc pas d'appreciation pour l'instant.
cs_Children Messages postés 84 Date d'inscription lundi 5 février 2007 Statut Membre Dernière intervention 29 avril 2009
13 avril 2007 à 10:38
Maquestion va paraitre bête, mais ç quoi cela sert exactement?
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
24 mars 2007 à 10:57
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
cs_Persons Messages postés 11 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 1 juin 2009
24 mars 2007 à 10:38
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?
Rejoignez-nous