cs_othland
Messages postés299Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention 9 février 2010
-
12 août 2007 à 13:12
cs_othland
Messages postés299Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention 9 février 2010
-
15 août 2007 à 14:17
bonjout tout le monde!
je veux envoyer un fichier texte en utilisant le protocole ftp (chose que je n'ai jamais fait) j'ai essayé de voir du coté des sources dispo sur le site et j'ai fais le code suivant :
///////////
IdFTP1.Host := '10.5.5.11';
IdFTP1.Port := 21;
IdFTP1.Username := 'user';
IdFTP1.Password := 'pass';
IdFTP1.ReadTimeout:=10000;
try
IdFTP1.Connect();
except
On E:Exception do ShowMessage(E.message);
end;
//envoie du fichier de commande
if IdFTP1.Connected then
IdFTP1.Put('C:\cells.txt', 'CELLS.txt', false);
///////////
mais le problème c'est que lorsque j'execute, j'ai un message comme celui là :
"Le projet Project1.exe a provoqué une classe d'éxception EIdSocketError avec le message 'Erreur de socket # 10060 Délai de connexion dépassé.' Processus stopé ...."
Je trouve pas la cause qui génère ce dépassement de délai? avez vous une idée? ou bien j'ai vraiment loupé mon code??
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20082 12 août 2007 à 13:56
Salut !
Ton code à l'air correct, mais le dépassement des délais peut avoir comme cause plusieurs facteurs:
<li>Lenteur du ftp</li><li>Firewall qui demande la confirmation à l'utilisateur</li><li>Etc...</li>Tu devrais laisser la propriété ReadTimeout à sa valeur par défaut, c'est à dire 60000.
Assure toi aussi que l'authentification est bien faite, en mettant la propriété AutoLogin à True.
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20082 12 août 2007 à 14:08
Alors là... jamais eu cette erreur !
As-tu essayé d'accéder au serveur ftp avec un client tel que FileZilla pour vérifier que l'erreur ne vient pas du ftp ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_othland
Messages postés299Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention 9 février 20101 12 août 2007 à 15:42
je crois que le problème se situe dans l'utilisation du composant même!
j'ai vu une fois un commentaire de notre confrère "DELPHIPROG" qui parlait d'un composant faisant les transfert en ftp, mais je ne le trouve pas sur le net!
avez vous une idée????
cs_othland
Messages postés299Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention 9 février 20101 12 août 2007 à 17:18
après une petite recherche sur le net , j'ai trouvé ceci :
erreur : "COMMAND NOT IMPLEMENTED" code de l'erreur : 502
--> Commande non mise en application. Le serveur ne supporte pas cette commande.
donc faut travailler avec un autre composatn que indy non???
sachant que je ve veut qu'uploader un fichier texte sur mon serveur! c'est tout
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20082 12 août 2007 à 17:54
En effet, j'avais pas vu qu'il manquait la moitié du code nécessaire ! Je croyais que l'erreur venait toujours de la connexion.
@othland: regarde le lien que donne Francky et tu as toutes les cartes an main. Indy (9 ou 10) permettent tous les deux d'uploader un fichier texte sur un serveur ftp, c'est quand même très basique !
Humm à liire l'erreur j'ai le sentiment que le serveur en question n'admet pas la fonction Put ou que les droits sont restreints : dans ce cas tu ne pourras rien y faire.
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 13 août 2007 à 20:47
Bonsoir,
PRO01 = ?? PRO gram 01 ?? PROcess 01 EL4 = Red Hat Enterprise Linux 4
Certainement l'identification du type de serveur et du programme, service déclencheur de l'erreur. Bref pas très utile.
Il faudrait plutot s'attarder sur l'erreur 502.
502 : Premier chiffre (5) = Erreur du serveur. Déjà c'est pas de ton côté.
Pour info, l'erreur 502 est souvent due à un trafic trop important (surcharge du serveur), ce qui empeche une connexion.
Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
cs_othland
Messages postés299Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention 9 février 20101 15 août 2007 à 14:17
bonjour tout le monde!
désolé pour le retard, au fait avec la client IndyFTP, ça ne marchait pas car tout simplement IL N'Y A PAS DE WINDOWS sur le serveur vers lequel j'envoyait mon fichier texte, c'est un switch GSM géré par un OS ERICSSON, et comme je suis nouveau, je ne savais pas ce détail!! bref!
suite à la demande de couf, j'envoie mon source :
/////////
la clause uses :
/////////
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, MSNPopUp, IdBaseComponent, IdComponent,
IdUDPBase, IdUDPClient, IdTrivialFTP, IdUDPServer, IdTrivialFTPServer,
IdTCPConnection, IdTCPClient, IdFTP, IdFTPCommon, ExtCtrls, WinInet, jpeg, ShellApi,
Buttons;
//////////
le code :
// Create object.
IdFTP1 := TIdFTP.Create(nil);
// Initialize with proper settings.
IdFTP1.Host := ip;
IdFTP1.Username := 'FTP#1';
IdFTP1.Password := 'FTP#1';
// Connect.
IdFTP1.Connect;
// Go to a certain folder on the server.
try
IdFTP1.ChangeDir('C:/');
except on E: Exception do showmessage(E.Message);
end;
// Ascii mode for plain text.
try
IdFTP1.TransferType := ftASCII;
IdFTP1.Put('C:\Documents and Settings\nmcuser\Desktop\cells.txt', 'File.txt');
except on E: Exception do showmessage(E.Message);
end;
// Clean-up.
IdFTP1.Free;
/////////
merci infiniment pour votre aide! et désolé pour le second thread!