[JAVA] Connection à un ftp

Connection à un ftp [JAVA] - Java - Programmation

Marsh Posté le 03-05-2003 à 14:45:06    

Bon voila, j'aimerai toucher un peu les class qui permette de creer des connections et voir un peu comment marche celle ci, et je me suis donc dit, tien je vais faire un pti client ftp pour un peu toucher au class.
 
Je savais pas du tout par ou commencer, j'ai donc fait une recherche sur le forum et sur google et voila ce que je croi avoir compris on cré un object sock qui tien donc lui de connection et un BufferedWriter et un BufferedReader pour envoyer des infos et récup des infos ca donne un truc comme ca :
 

Code :
  1. Socket sock;
  2. BufferedWriter out;
  3. BufferedReader inp;
  4. sock = new Socket (args[0], 21);
  5. out = new BufferedWriter (new OutputStreamWriter(sock.getOutputStream ())) ;
  6. inp = new BufferedReader (new InputStreamReader(sock.getInputStream ())) ;


 
je cherche maintenant a savoir comment créer réellement la connection, cad envoyer des commandes au server ftp.
 
merci  :jap:

Reply

Marsh Posté le 03-05-2003 à 14:45:06   

Reply

Marsh Posté le 03-05-2003 à 15:04:42    

bah out.write("salut mossieur le server" ) ....

Reply

Marsh Posté le 03-05-2003 à 15:13:34    

the real moins moins a écrit :

bah out.write("salut mossieur le server" ) ....


 
bah vi mais j'ai testé un truc
 

Code :
  1. String commande="USER ral";
  2. out.write(commande);
  3. reponse = inp.readLine();
  4. System.out.println(reponse);


 
coté server y voi rien du tout et il répond rien :/

Reply

Marsh Posté le 03-05-2003 à 15:16:22    

out.flush peut etre

Reply

Marsh Posté le 03-05-2003 à 15:19:43    


 
pareil avec ou sans :/


Message édité par EpoK le 03-05-2003 à 15:19:51
Reply

Marsh Posté le 03-05-2003 à 15:23:56    

out.write("USER ral"+"\r\n");
 
 :hello:  
 
thx, je revient quand j'ai de nouveau un pb :)

Reply

Marsh Posté le 03-05-2003 à 15:25:46    

EpoK a écrit :

out.write("USER ral"+"\r\n");
 
 :hello:  
 
thx, je revient quand j'ai de nouveau un pb :)


 
 
pitin ca marchais ya 2s et ca marche pu  :cry:

Reply

Marsh Posté le 03-05-2003 à 16:03:06    

En fait c'est ma séquence de login qui marche pas c'est louche car ca :
  cftp.rep();
  cftp.cmd("USER ral" );
  cftp.rep();
  cftp.cmd("PASS bop" );
  cftp.rep();
ca bloque alors que ca
  cftp.rep();
  cftp.cmd("USER ral" );
  //cftp.rep();
  cftp.cmd("PASS bop" );
  cftp.rep();
ca passe mais alors ce que je revoi comme info est décalé par rapport a l'execution ...
 
en fait il faut que je garde la rep en mémoire avt de la resortir ...
 
 

Code :
  1. import java.net.*;
  2. import java.io.*;
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. import org.omg.CORBA.portable.UnknownException;
  7. class ConnectionFTP
  8. {
  9. BufferedReader inp;
  10. BufferedWriter out;
  11. Socket sock;
  12. public ConnectionFTP(String addr) throws UnknownException {
  13.  try{
  14.   sock = new Socket (addr, 21);
  15.   out = new BufferedWriter (new OutputStreamWriter(sock.getOutputStream ())) ;
  16.   inp = new BufferedReader (new InputStreamReader(sock.getInputStream ())) ;
  17.   System.out.println("Connection Etablie ..." );
  18.  }
  19.  catch(UnknownHostException e){
  20.   e.printStackTrace();
  21.  }
  22.  catch(IOException e) {
  23.   e.printStackTrace(); 
  24.  }
  25. }
  26. public void cmd(String command) {
  27.  try{
  28.   out.flush();
  29.   out.write(command+"\r\n" );
  30.   System.out.println(command);
  31.  }
  32.  catch(IOException e) {
  33.   e.printStackTrace(); 
  34.  }
  35. }
  36. public String rep() {
  37.  String reponse=null;
  38.  try{
  39.   reponse = inp.readLine();
  40.          System.out.println(reponse);
  41.  }
  42.  catch(IOException e) {
  43.   e.printStackTrace(); 
  44.  }
  45.  return reponse;
  46. }
  47. }
  48. class ClientFTP
  49. {
  50. public static void main(String[] args) {
  51.  ConnectionFTP cftp = new ConnectionFTP(args[0]);
  52.  cftp.rep();
  53.  cftp.cmd("USER ral" );
  54.  //cftp.rep();
  55.  cftp.cmd("PASS bop" );
  56.  cftp.rep();
  57.  cftp.cmd("SYST" );
  58.  cftp.rep();
  59.  cftp.cmd("PWD" );
  60.  cftp.rep();
  61.  cftp.cmd("TYPE A" );
  62.  cftp.rep();
  63.  cftp.cmd("PASV" );
  64.  cftp.rep();
  65.  cftp.cmd("LIST" );
  66.  cftp.rep();
  67. }
  68. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed