Comment faire pour que mon programme utilise un proxy?

Comment faire pour que mon programme utilise un proxy? - Java - Programmation

Marsh Posté le 13-08-2003 à 14:41:05    

Bonjour,
 
je suis en train de coder un petit client FTP et je voudrais savoir comment faire pour qu'il puisse utiliser un proxy, socks4 ou 5?
 
j'ai fait une recherche j'ai trouvé ce lien
http://forum.hardware.fr/forum2.ph [...] subcat=390
mais apparemment le gars developpait un servlet, alors je ne sais pas si ca peut s'appliquer a mon cas (Applet/Appli)
 
Merci

Reply

Marsh Posté le 13-08-2003 à 14:41:05   

Reply

Marsh Posté le 13-08-2003 à 14:45:24    

mais vous savez pas chercher sur le net ou quoi? :fou:
 
http://www.javaworld.com/javaworld [...] tip42.html


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 13-08-2003 à 14:58:30    

ajoute les paramètres suivants à la ligne de commande qui lance ton application
 
-Dhttp.proxyHost=nomDuServeur -Dhttp.proxyPort=portDuServeur
 

Reply

Marsh Posté le 13-08-2003 à 21:43:08    

merci a tous les deux

Reply

Marsh Posté le 17-08-2003 à 02:24:25    

me revoici avec un probleme,
 
d'habitude lorsque je veux me connecter à un serveur ftp je fais ca :  
 

Code :
  1. Socket sock = new Socket (ftp.getIP(), ftp.getPort());
  2. BufferedWriter out = new BufferedWriter (new OutputStreamWriter(sock.getOutputStream ())) ;
  3. BufferedReader inp = new BufferedReader (sock InputStreamReader(conn.getInputStream ())) ;


 
et apres j'initialise moi meme la connexion via les methodes write et read.
 
 
je veux maintenant pouvoir utiliser un proxy
 
je fais donc :
 

Code :
  1. System.getProperties().put( "ftpProxySet", "true" );
  2. System.getProperties().put( "ftpProxyHost", "ip_du_proxy" );
  3. System.getProperties().put( "ftpProxyPort", "port_du_proxy" );
  4. URL url = new URL("FTP",ip,port,ftp://127.0.0.1/readme.txt" );
  5. URLConnection conn = url.openConnection();
  6. conn.connect();
  7. out = new BufferedWriter (new OutputStreamWriter(conn.getOutputStream ())) ;
  8. inp = new BufferedReader (new InputStreamReader(conn.getInputStream ())) ;


 
le probleme c'est que je veux avoir la main sur le ftp et pouvoir lui envoyer toutes les commandes que je veux. Alors que avec cette methode, je n'ai acces qu'au fichier readme.txt
 
je pourrais ouvrir un socket directement vers le proxy et me renseigner sur les commandes a lui envoyer pour communiquer avec le ftp mais cela ne m'enchante guère.
 
que dois je faire alors?


Message édité par thunderbird54 le 17-08-2003 à 02:25:58
Reply

Marsh Posté le 17-08-2003 à 11:08:17    

la classe URL elle est pratique pour faire des petits trucs ... toi ce que tu veux faire ca dépasse ses compétences => faut que tu te serves d'autre chose.
 
je sais pas à quoi ressemble le protocole d'un proxy FTP, mais si c'est comme en HTTP, c'est hyper simple !!! regarde à quoi ca ressemble pour voir si tu pourrais faire ca à la main.
 
PS : je trouve que la gestion des proxy en java est hyper foireuse !!! être obligé de modifier les propriété système pour indiquer le proxy à utiliser c'est nul ! Ca fait que tu peux pas utiliser 2 proxys simultanément au sein d'une JVM. C'est vraiment pourrit !


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-08-2003 à 16:45:01    

benou a écrit :

Ca fait que tu peux pas utiliser 2 proxys simultanément au sein d'une JVM. C'est vraiment pourrit !


 
+1 :o

Reply

Marsh Posté le 17-08-2003 à 19:17:00    

ça doit pas etre bien compliqué à implementer :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 17-08-2003 à 21:13:34    

bon alors j'ai utilisé un serveur proxy HTTP
 
une fois le socket vers le proxy ouvert, il n'y a qu'une ligne a implementer c'est :  
 
CONNECT Ip_du_ftp: Port_du_ftp HTTP/1.0\r\n\r\n"


Message édité par thunderbird54 le 17-08-2003 à 21:18:13
Reply

Marsh Posté le 18-08-2003 à 00:10:44    

the real moins moins a écrit :

ça doit pas etre bien compliqué à implementer :o


ben non c'est pas compliqué (ca l'est vraiment vraiment pas) mais c'est une raison !
 
et puis du coup, ca rend la classe URL quasiment inutilisable dans certains environnements => si tu dois refaire un client HTTP, là ca devient chiant.
 
et puis c'est juste qu'il y avait 36 autres façon de faire les choses bien et qu'il a fallu qu'ils foutent ca dans les propriété system ! c'est vraiment un truc à la con !!!


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-08-2003 à 00:10:44   

Reply

Marsh Posté le 18-08-2003 à 00:34:22    

benou a écrit :


ben non c'est pas compliqué (ca l'est vraiment vraiment pas) mais c'est une raison !
 
et puis du coup, ca rend la classe URL quasiment inutilisable dans certains environnements => si tu dois refaire un client HTTP, là ca devient chiant.
 
et puis c'est juste qu'il y avait 36 autres façon de faire les choses bien et qu'il a fallu qu'ils foutent ca dans les propriété system ! c'est vraiment un truc à la con !!!

c'est vrai d'un coté, mais en meme temps, si un bozo qu'a fait son appli son penser que certains sont proxisés, bah ... ça peut depanner l'utilisateur :o

Reply

Marsh Posté le 18-08-2003 à 00:37:03    

the real moins moins a écrit :

c'est vrai d'un coté, mais en meme temps, si un bozo qu'a fait son appli son penser que certains sont proxisés, bah ... ça peut depanner l'utilisateur :o


pour une fois que je dis du mal de Java, laisse moi critiquer :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

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