Commande PORT [FTP] - Windows & Software
Marsh Posté le 09-09-2005 à 10:25:07
A priori le problème viendrait de la commande PORT, si quelqun peut m'expliquer comment fonctionne cette commande ?
Je sais que pour PORT 10,0,0,1,12,239
10,0,0,1 correspond à l'adresse IP, mais le 12 et le 239
Marsh Posté le 09-09-2005 à 10:35:56
Ton script est en quel langage ?
Sinon tu fais un téléchargement en actif, pourquoi pas en passif ?
Le principe de la commande PORT est assez simple :
A,B,C,D,X,Y
Tu envois ton IP (A,B,C,D), et deux nombres qui permettent de calculer le port sur lequel le serveur vient se connecter. Pour le calculer, on fait X*256 + Y (3311 dans ton cas).
Par contre c'est bizarre que ça marche avec filezilla et pas avec ton script. Tu peux le donner ?
Marsh Posté le 09-09-2005 à 10:42:44
mmmh, ca marche qu'a moitié avec FileZilla, si, à la main en entrant les commandes, (les même que FileZilla utilise à priori) j'essai de télécharger un fichier ca ne marche pas (voir screenshot).
Pour mon script, c'est du Python, mais bon, il est composé d'une 10aine de classes différentes, un truc pas forcement facile à comprendre... Je te met un bout de code simplifié au cas ou tu connaisse la librairie ftplib de python...
Code :
|
Je vais voir si le fait de passer en passif change quelquechose
Marsh Posté le 09-09-2005 à 10:55:07
En effet je ne connais pas Python, mais bon ça revient au même.
Par contre tu fais un self.ftp.retrbinary, j'imagine qu'avant cela il y a forcement une initialisation de ton objet self.ftp non ?
De plus, il faudrait plus de détail sur la machine qui héberge le script, sur le serveur FTP, sur ce qui les sépare (équipements réseaux...). Tu as une heure pour rendre ta copie
Marsh Posté le 09-09-2005 à 11:14:53
Mouarf
oui, j'initialise l'objet avant, (dans une autre classe ) mais je pense franchement pas que ca vienne du code, ca fait 6 mois que je l'utilise et c'est seulement maintenant que ça plante...
la machine qui héberge le script : un pc sous windows (celui avec lequel je post ici )
le serveur FTP voilà le mieux que je puisse te donner c'est le trace de FileZilla après une connexion :
Code :
|
ce qui les sépare : je me connecte avec une liaison RTC et un vieux modem 33k (d'ou la complexité du code), et je suis donc en liaison direct avec le serveur Ftp...
Marsh Posté le 09-09-2005 à 11:28:15
Vraiment bizarre... Tu as testé en faisant un ftp avec la commande DOS voir ce que ça donnait ?
Marsh Posté le 09-09-2005 à 12:19:45
Merci petoulachi pour ton aide mais le problème venez de ma boite...
Le chemin de destination des fichiers (qui est sur le serveur interne) a changé, sans que personne ne soit averti, et surtout pas mon script...
Après l'erreur que me retournait mon script : "Permission denied" était pas très explicite Et on avait tous penché pour un problème coté serveur ftp.
Bref, pb résolu... encore merci
ps : Ca reste étrange pour le screenshot d'en haut quand même
Marsh Posté le 09-09-2005 à 10:09:12
Alors, j'ai fait un petit script pour ma boite qui va se connecter sur différents serveur ftp (jusque la tout va bien), puis qui se place dans un répertoire, et qui ramene un fichier.
Ce matin je lance le script comme tout les matins, impossible de télécharger le moindre fichier.
Et de même sur tous les serveur ftp
Pour voir d'ou ca vient je me connect manuellement avec FileZilla, j'essaye de télécharger un fichier avec du Drag&Drop et stupeur, ca fonctionne...
Pour aller plus loin, je décide de tapper à la main dans FileZilla les commandes nécessaires pour télécharger le même fichier, et la c'est le drame :
Si quelqu'un a déjà eu le problème ou a une petite idée
Message édité par Benzo29 le 09-09-2005 à 10:23:47