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

Applets Java Discussion :

Problème de Proxy


Sujet :

Applets Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de Proxy
    Bonjour à tou(te)s,

    Voilà mon p'tit problème: je suis censé écrire un programme Java pour récupérer en automatique un fichier sur un site sécurisé https. J'ai donc téléchargé la librairie HTTPClient de chez apache puis développé mon code.

    Le problème que je rencontre n'est pas de savoir ce qu'il se passe UNE FOIS que je suis connecté sur ce site mais d'essayer d'arriver à me connecter sur ce site, en tout premier lieu; en effet, de chez moi en connexion directe, j'arrive à l'établir mais ce n'est pas le cas du boulot où j'utilise un proxy, donc je pense que mon problème vient de là. J'ai parcouru quelques forums et essayé d'implémenter certaines lignes de code qui sont censés régler ce problème mais ça ne marche toujous pas (No Route to host: connect, quoi que je fasse). Quelqu'un peut-il m'aider à integrer les quelques lignes qui me manquent?

    Voici mon code:

    public class Downloader {

    public static void main(String[] args) {
    int exitcode = 0;
    int statusCode;
    String url = "https://mon_fameux_site" + action;
    HttpClient client = new HttpClient();
    GetMethod method = new GetMethod(url);

    method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, true));

    try {

    Properties prop = new Properties();
    String str = "C:/Documents and Settings/params.ini";
    InputStream fis = (InputStream)new FileInputStrea(str);
    prop.load(fis);
    System.out.println("Fichier params.ini charge!");

    // Set Credentials
    UsernamePasswordCredentials credentials;
    credentials = new UsernamePasswordCredential(prop.getProperty("username"),
    prop.getProperty("password"));

    System.out.println("Username: " + prop.getProperty("username")+ "\nPassword: "+ prop.getProperty("password"));
    client.getState().setCredentials(new AuthScope("mon_fameux_site", 443), credentials);

    // Executing the method.

    statusCode = client.executeMethod(method);
    System.out.println("Connexion assuree!");
    if (statusCode != HttpStatus.SC_OK) {
    // Handling HTTP error 404 and 500 not covered in this example
    // All http error cause in this example exit with status 1.
    System.err.println("Method failed: " + method.getStatusLine()+ "\n" +
    method.getResponseBodyAsString());
    System.out.println(method.getRequestCharSet() + "\n" + method.getRequestHeader("").toString());
    exitcode = 1;
    }
    else {

    //Get the file size from the response body and do something with it
    Header[] contlen = method.getResponseHeaders("Content-Length");
    if (contlen.length != 0) {
    StringTokenizer stone = new StringTokenizer(contlen[0].getValue(), "=");
    int size = new Integer(stone.nextToken()).intValue();
    // Do something with the file size
    System.out.println("File size is: " + size);
    }

    // Get the filename from the response body.
    InputStream is = method.getResponseBodyAsStream();
    Header[] contdisp = method.getResponseHeaders("Content-Disposition");

    String filename = null;
    StringTokenizer sttwo = new StringTokenizer(contdisp[0].getValue(), "=");
    while (sttwo.hasMoreTokens()) filename = sttwo.nextToken();

    // Hardcoded disk and directory path are indicative
    FileOutputStream fos = new FileOutputStream("C:/Documents and Settings" + filename);
    byte[] buffer = new byte[4096];

    int count = is.read(buffer);
    while (count != -1) {
    fos.write(buffer, 0, count);
    count = is.read(buffer);
    }
    fos.flush();
    fos.close();
    is.close();
    }
    } catch (HttpException e) {
    exitcode = 2;
    System.err.println("Fatal HTTP Error: " + e.getMessage());
    e.printStackTrace();
    } catch (IOException e) {
    exitcode = 3;
    System.err.println("Fatal I/O error: " + e.getMessage());
    e.printStackTrace();
    } finally {
    // Release the connection.
    method.releaseConnection();
    System.exit(exitcode);
    }
    System.out.println("Download done");
    }
    }

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Je ne sais pas si ta librairie supporte les proxy. Par contre, dans les package de base, il existe une classe URL qui pourrait peut être te servir, je vais essayer de voir un peu pour le code si tu veux, mais je ne pourrai pas tester derrière un proxy, ce sera à toi de voir ça demain au boulot.

    De toute façon, moi je ne peux pas venir en journée donc au pire, je t'appelle pour savoir si tu as réussit, enfin faut juste que je retrouve ton numéro, sinon je t'enverrai un mail.

    A+!

    Ton prof de java un peu

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Je pense qu'on peut considérer ce problème comme résolu.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    En fait, j'ai résolu mon problème en gardant la librairie d'Apache;
    Pour les curieux, voici ce que j'ai rajouté, tout simplement:

    client.getHostConfiguration().setProxy("xx.xxx.xxx.xx", xx);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de proxy avec firefox
    Par MaxJenius dans le forum Firefox
    Réponses: 2
    Dernier message: 04/05/2008, 18h32
  2. Problème de Proxy
    Par FrankOVD dans le forum Apache
    Réponses: 1
    Dernier message: 21/09/2007, 15h10
  3. [C#]Problème timeout proxy
    Par mimibobo dans le forum Services Web
    Réponses: 9
    Dernier message: 30/10/2006, 09h27
  4. Problème de proxy avec Firefox
    Par shukin dans le forum Autres langages pour le Web
    Réponses: 3
    Dernier message: 13/12/2005, 12h10

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