Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.23 KB | None | 0 0
  1. import java.io.*;
  2. import java.net.Socket;
  3. import java.util.StringTokenizer;
  4.  
  5. public class Client
  6. {
  7.  
  8.     private static Integer portInt;
  9.     private static String addrip;
  10.    
  11.  
  12.     public static Boolean PWD(PrintWriter writer, BufferedReader br) throws IOException
  13.     {
  14.         String str = new String();
  15.         writer.println("PWD");  
  16.         str = br.readLine();
  17.         if(str.substring(0,3).equals("257")){
  18.             System.out.println("PWD : "+str.substring(3));
  19.             return true;
  20.         }
  21.         return false;
  22.     }
  23.    
  24.     public static Boolean CWD(PrintWriter writer, BufferedReader br) throws IOException
  25.     {
  26.         String str = new String();
  27.         writer.println("CWD "+"WinXp");  
  28.         str = br.readLine();
  29.         //System.out.println(str);
  30.         if(str.substring(0,3).equals("250")){
  31.             System.out.println(str.substring(3));
  32.             return true;
  33.         }
  34.         return false;
  35.     }
  36.    
  37.     public static Boolean PASV(PrintWriter writer, BufferedReader br) throws IOException
  38.     {
  39.         String str = new String();
  40.         int j=0;
  41.         String tabString[]=new String[6];
  42.         writer.println("PASV"+str);  
  43.         str = br.readLine();
  44.         String adresseIp=new String();
  45.         /*Pattern ipPattern=Pattern.compile("[0-9]+,[0-9]+,[0-9]+,[0-9]+");
  46.         String[] test=ipPattern.split(str);
  47.         System.out.println("test --"+test[1]);
  48.         */
  49.         String port = new String();
  50.         StringTokenizer ip = new StringTokenizer(str, "(), ABCDEFGHIJKLMOPQRSTUVWXYZabcdefghijklmnopkrstuvwxyz");
  51.  
  52.  
  53.         ip.nextToken();
  54.  
  55.         if(str.substring(0,3).equals("227")){
  56.             while(ip.hasMoreTokens())
  57.             {
  58.                 tabString[j]=ip.nextToken();
  59.                 if(j<4) adresseIp=adresseIp+tabString[j]+".";
  60.                 else port += tabString[j];
  61.                 j++;
  62.             }
  63.             adresseIp=adresseIp.substring(0, adresseIp.length()-1);
  64.             portInt  = Integer.parseInt(tabString[j-2])*256 + Integer.parseInt(tabString[j-1]);
  65.             addrip = adresseIp;
  66.             return true;
  67.         }
  68.         return false;
  69.     }
  70.    
  71.     public static Boolean STOR(PrintWriter writer, BufferedReader br) throws IOException
  72.     {
  73.         System.out.println(addrip+"  "+portInt.toString());
  74.         Socket socket_file = new Socket(addrip,portInt);
  75.         PrintWriter file_writer = new PrintWriter(
  76.                 new BufferedWriter(
  77.                 new OutputStreamWriter(socket_file.getOutputStream())),true);
  78.  
  79.         BufferedReader file_reader = new BufferedReader(
  80.               new InputStreamReader(new FileInputStream("plop.txt"))
  81.               );
  82.        
  83.         String str_cmd = new String();
  84.         String str_file = new String();
  85.         writer.println("STOR plop.txt");
  86.         str_cmd = br.readLine();
  87.         if(str_cmd.substring(0, 3).equals("150"))
  88.         {
  89.             str_file = file_reader.readLine();
  90.             while(str_file!=null)
  91.             {
  92.                 System.out.println(str_file);
  93.                 file_writer.println(str_file);
  94.                
  95.                 str_file = file_reader.readLine();
  96.             }
  97.         }
  98.        
  99.         file_writer.println("FUUUU");
  100.         file_writer.close();
  101.         file_reader.close();
  102.         socket_file.close();
  103.         /*if(str.substring(0,3).equals("150")){
  104.             System.out.println(str.substring(3));
  105.             return true;
  106.         }*/
  107.         return true;
  108.     }
  109.    
  110.     public static Boolean QUIT(PrintWriter writer, BufferedReader br) throws IOException
  111.     {
  112.         String str = new String();
  113.         writer.println("QUIT");  
  114.         str = br.readLine();
  115.         if(str.substring(0,3).equals("221")){
  116.             System.out.println(str.substring(3));
  117.             return true;
  118.         }
  119.         return false;
  120.     }
  121.    
  122.    
  123.     public static Boolean connexion(PrintWriter writer, BufferedReader br) throws IOException
  124.     {
  125.         //BufferedReader entree = new BufferedReader(new InputStreamReader(System.in));
  126.     //  String str = new String();
  127.         String user = "e20703933";
  128.         String pass = "pemeenam1";
  129.         String response = new String();
  130.         response = br.readLine();
  131.         //System.out.println(response.substring(0, 3));
  132.         if(response.substring(0,3).equals("220"))
  133.         {
  134.             //System.out.print("Username : ");
  135.             //str = entree.readLine();
  136.             writer.println("USER "+/*str*/user);
  137.             response = br.readLine();
  138.             if(response.substring(0,3).equals("331"))
  139.             {
  140.                 /*System.out.print("Password : ");
  141.                 str = entree.readLine();*/
  142.  
  143.                 writer.println("PASS "+/*str*/pass);
  144.                 response = br.readLine();
  145.                 if(response.substring(0,3).equals("230"))
  146.                 {  
  147.                     System.out.println("Connection successfull !");
  148.                     return true;
  149.                 }
  150.                 System.out.println("Wrong password");
  151.                 return false;
  152.                
  153.             }
  154.             return false;
  155.         }
  156.         System.out.println(response);
  157.         return false;
  158.     }
  159.  
  160.     public static void main(String [] args) {
  161.         System.getProperties().put("http.proxyHost", "proxyubo.univ-brest.fr");
  162.         System.getProperties().put("http.proxyPort", "3128");
  163.        
  164.         try{
  165.            
  166.             String addr = "stockage.univ-brest.fr";
  167.             Socket sock = new Socket(addr,21);
  168.            
  169.             PrintWriter writer = new PrintWriter(
  170.                       new BufferedWriter(
  171.                          new OutputStreamWriter(sock.getOutputStream())),
  172.                       true);
  173.  
  174.             BufferedReader br = new BufferedReader(
  175.                     new InputStreamReader(sock.getInputStream())
  176.                     );
  177.            
  178.             if(connexion(writer,br)){
  179.                 if(PWD(writer,br))
  180.                 {
  181.                     if(CWD(writer,br))
  182.                     {
  183.                         if(PWD(writer,br))
  184.                         {
  185.                             if(PASV(writer,br)){
  186.                                 STOR(writer,br);
  187.                                 //PWD(writer,br);
  188.                                 QUIT(writer,br);   
  189.                             }
  190.                         }
  191.                     }
  192.                 }
  193.             }
  194.            
  195.            
  196.             writer.println("END") ;
  197.             br.close();
  198.             writer.close();
  199.             sock.close();
  200.            
  201.         }catch (IOException ioe){}
  202.     }
  203.  
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement