IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

"Détection automatique des paramètre proxy" en Java ?


Sujet :

Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut "Détection automatique des paramètre proxy" en Java ?
    Bonjour,

    J'essaie de coder une class Java pour récupérer un fichier sur internet.

    Voici a peu près le code, il est pas de moi, c'est trouvé sur internet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
        public static void DownloadFile(String file) {
        	try {
     			URL racine = new URL(file);
    	 		getFile(racine);
    	 	} catch (MalformedURLException e) {
     			System.err.println(file + " : URL non comprise.");
    		} catch (IOException e) {
     			System.err.println(e);
     		}
        }
     
    	private static void getFile(URL u) throws IOException {
    		URLConnection uc = u.openConnection();
    		String FileType = uc.getContentType();
    		int FileLenght = uc.getContentLength();
    		if (FileLenght == -1) {
    			throw new IOException("Fichier non valide.");
    		}
    		InputStream in = uc.getInputStream();
    		String FileName = u.getFile();
    		FileName = FileName.substring(FileName.lastIndexOf('/') + 1);
    		FileOutputStream WritenFile = new FileOutputStream(FileName);
    		byte[]buff = new byte[1024];
    		int l = in.read(buff);
    		while(l>0)
    		{
    			WritenFile.write(buff, 0, l);
    			l = in.read(buff);
    		}
    		WritenFile.flush();
    		WritenFile.close();
    	}
    Chez moi ca marche très bien, mais a mon université...hem...pas du tout, j'ai le droit a :
    java.io.IOException: Fichier non valide.
    Comment se fait-il ?
    La connection du wifi a l'université est un peu compliqué, mais pour Firefox j'ai juste de besoin de sélectionner "Détection automatique des paramètre proxy" dans les option de connection.

    Y'a t il moyen d'optenir la même chose en Java ?
    merciii

  2. #2
    Membre éprouvé
    Avatar de LinkinSelim
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Points : 1 034
    Points
    1 034
    Par défaut
    regarde la piece jointe :p

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci, mais j'ai peut être oublié que je développais une application et non une applet.
    Qui pourrait-être distribuer au public (bon, pas grand mon s'y intéresserait m'enfin...), donc il faudrait que je puissse modifier ça dans le programme.

    Et je suis déjà sur cette option.

  4. #4
    Membre éprouvé
    Avatar de LinkinSelim
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Points : 1 034
    Points
    1 034
    Par défaut
    pour changer le proxy dynamiqument dans le programme tu peu faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.getProperties().put(“proxySet”,”true);
        System.getProperties().put(“proxyPort”,”8080);
        System.getProperties().put(“proxyHost”,”host”);
    host et 8080 ne sont qu'un exemple

    ou tu peux utiliser la commande suivante si tu utilise un proxy HTTP

    java -Dhttp.proxyhost=host -Dhttp.proxyport=8080 MyJavaApp
    ou si tu utilise un Proxy general

    java -DproxySet=true -DproxyHost=PROXYSERVER -DproxyPort=PORT YourClass
    lors de l'execution de ta classe

    j'espere que ca va t'aider

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Et j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.getproperties().put("proxyUserName", "login");
    System.getproperties().put("proxyPassword", "password");
    pour le login/mot de passe ?

    par contre, il faut utiliser proxyUserName ou http.proxyUserName ?
    (j'ai vu les deux sur le net :s).
    (et hum....quel import faut il faire ? le java c'est finalement vraiment pas mon truc).

    Mais le probleme c'est que je ne connais ni le port ni l'adresse pour le proxy :s
    J'ai jamais eut besoin de l'entrer, sous firefox ou IE j'avais juste a cocher la fameuse case.

    Au pire je "brute force" toute les possibilité ^^

  6. #6
    Membre éprouvé
    Avatar de LinkinSelim
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Points : 1 034
    Points
    1 034
    Par défaut
    Mais le probleme c'est que je ne connais ni le port ni l'adresse pour le proxy :s
    ben tu dois demandé a un adminstrateur de ton université, je sé pas moi

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par LinkinSelim Voir le message
    ben tu dois demandé a un adminstrateur de ton université, je sé pas moi
    Oui enfin, le problème c'est surtout si le problème arrive a quelqu'un qui a déjà l'application, qu'il est juste une case a cocher "detecter automatiquement les parametre réseau".

    Enfin, bon, peut être que quelqu'un d'autre a la réponse.

    Merci de ton aide.

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Apparement il serait possible d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.setProperty("java.net.useSystemProxies","true");
    Voir : http://www.java-tips.org/java.net/ho...onnection.html

    A tester pour verifier.

    EDIT - le code fournis a l'air de fonctionner.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    proxy hostname : DIRECT
    No Proxy
    java.io.IOException: Fichier non valide.
    Apparement y'a pas de proxy...bon soit.
    Mais la derniere ligne est renvoyé par ma fonction de téléchargement.

    Mais merci pour le code.

    Par contre on est obligé de tester sur un site ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    List l = ProxySelector.getDefault().select(
    new URI("http://www.google.com/"));
    Edit :
    Je viens de lancer Firefox avec l'option "Connexion directe à internet", impossible de visualiser une page internet.

  10. #10
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Ce n'est pas trop mon domaine mais j'imagine que cela depend du protocole utilise (on utilise une addresse HTTP et le proxy retourne est de type HTTP -une petite erreur dans le code, la premiere chaine imprimee devrait etre "proxy host type" je pense-).

    Ici sur mon PC du bureau cela fonctionne, il me retourne bien la configuration d'IE.

    Ah oui une question bete : sur quel OS es-tu ? Car il est juste possible que sur les UNIX, il n'y ait pas de notion de proxy systeme contrairement a Windows, tout simplement.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Nom automatique des paramètres
    Par Atatorus dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 02/10/2008, 16h13
  2. Réponses: 1
    Dernier message: 23/09/2008, 11h37
  3. Configuration des paramètres proxy
    Par jokerboy dans le forum Windows XP
    Réponses: 5
    Dernier message: 11/08/2008, 09h56
  4. Détection automatique des entrées
    Par snortus dans le forum Hibernate
    Réponses: 3
    Dernier message: 11/06/2008, 21h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo