FTP avec winsock

Signaler
Messages postés
52
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
2 octobre 2009
-
Messages postés
52
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
2 octobre 2009
-
Bonjour,

j'ai developpé un bout de code pour faire du FTP dans une appli,
j'ai decomposé chaque besoin
 la connection en mode PASSIV et recuperation du port de data
Le LIST du repertoire distant
Le GET pour recuperer un fichier
Le SENd pour l'envoi

Si je connecte et que je fais un LIST ou GET ou SEND ca marche impecable
Si je connecte et que je fait un LIST (je recupere les fichiers disponiblr sur le serveur) et que je fait un GET (qui marchait jusqu'ici) j'obtient unez reponse du serveur "425 Unable to build data connection : Invalid argument

meme chose si je fais deux fois le LIST : le premier passe bien et la relance me donne la meme erreur 425

Avez-vous une piste pour debugg ce problème ?

Autre Question : comment faire pour passer au travers d'un proxy en mode PASSIV ? (avec les winsocks bien sûr) ?

Merci pour votre aide et longue vie a ce site

Fr

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
sur que ton serveur a finit de traiter ta demande ?

(voir Inet1.StillExecuting)
Messages postés
52
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
2 octobre 2009

Salut Renfield,

J'ai Enfin ! trouvé le bug : en fait il faut relancer la commande PASV a chaque fois que l'on veut faire une commande.
J'avais suivi les bouts de code su VB France, ils ont enchainé la commande PASV a la connection du port de commande après le login et le pass, donc ca marche 1 fois...pas la deuxieme puisque le port de data est refermé par le serveur a la fin de chaque opération !

Il me reste maintenant la difficulté de passer mon PROXY, pour le moment je' ai tité une ligne directe sur ma FREEBOX mais on doit normalement passer par une machine qui sert de PROXY pour l'ensemble des services de la boite.
Sur le proxy j'ai configuré que losque je demande le numero de port FTP XXX il me reroute vers le serveur WEB sur le port YYY
la connexion au seveur fonctionne mais j'e n'echange encore rien sur les  ports data
Existe t'il une autre soluce que le mappage de port sur le PROXY et la FREEBOX ?
Mon outil de FTP (Filezilla par exemple) me permet de declarer que je passe par un proxy et je n'ai pas besoin de faire de mappage sur le proxy ni meme la FREEBOX c''zst bien plus "directe"