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

API standards et tierces Java Discussion :

HttpClient et logging avec redirection


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Par défaut HttpClient et logging avec redirection
    Bonsoir à tous. J'essaye en ce moment de me remettre sur java dans l'optique de me créer un programme d'automatisme pour accéder à certains de mes sites. Celui pour lequel j'ai le plus de mal est un site que j'ai conçu de manière à gêner les petits créateurs de bots pas trop compétents. L'ironie du sort est que j'ai besoin d'un bot à mon tour.

    Donc j'ai découvert aujourd'hui l'api HttpClient de apache. Pas mal pratique, mais je suis quelque peu bloqué. J'exécute sans problème des pages webs. Le problème survient lors de l'authentification. Explications :
    Je suis sur une page d'accueil avec formulaire d'authentification. Je remplis mes champs et envoie le formulaire. La page php actuelle ne renvoit rien, cependant elle vérifie si la connexion réussit. Si oui elle génère un identifiant que sera passé en paramètre à l'url en permanence et redirige sur une autre page. Si la connexion échoue, on est redirigé sur la première page. J'exécute donc avec mon code source la page loggin.php en remplissant bien les paramètres POST. Cependant je n'ai pas de résultat au niveau de la réponse, donc je suppose que je ne reçois que le code html de la page de vérification du formulaire.

    Comment suivre les redirections? Comment récupérer ce paramètre GET si important?

    Voila le code. Ne faites pas attention si s'est sale et mal organisé, pour le moment je fais juste des tests dans le main, j'aimerai savoir si ce que je veux est faisable avant de continuer.

    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
     
    HttpClient client = new DefaultHttpClient();
     
            client.getParams().setParameter("http.useragent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");
            HttpPost post = new HttpPost("http://localhost/monsite/loggin.php");
     
            List<NameValuePair> formparams = new ArrayList<NameValuePair>();
     
            formparams.add(new BasicNameValuePair("login", "login"));
            formparams.add(new BasicNameValuePair("pass", "login"));
     
            HttpResponse response = client.execute(post);
            HttpEntity entity = response.getEntity();
     
            BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
            String ligne;
            String html = "";
     
            while((ligne = reader.readLine())!=null){
                html += ligne;
                System.out.println(ligne);
            }

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    pour suivre les redirects avec commons httpclient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    method.setFollowRedirects(true);
    edit: oops c'était du code pour http client en version 3, ils ont tout changé dans la 4
    Dans la version 4 c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    httpClient.setRedirectStrategy(new DefaultRedirectStrategy());

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Par défaut
    Merci de ta réponse. Je creuse un peu plus à ce niveau. Visiblement je n'ai pas cette méthode dans DefaultHttpClient donc ça ne compile pas.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Par défaut
    Merci bien je vais regarder de ce côté la. Je suis vraiment à la ramasse en java et j'ai jamais utilisé d'api donc je suis un peu perdu^^
    Faut que je créée une classe héritant de abstractHttpClient je suppose, en implémentant setRedirectStrategy

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    non HttpClient le fait déjà, comme je dit.

Discussions similaires

  1. Détecter javascript avec redirection
    Par gforce dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 11/01/2007, 16h10
  2. Comment Créer mon Prémier Log avec C++
    Par toufik1986 dans le forum C++
    Réponses: 1
    Dernier message: 26/11/2006, 11h56
  3. formulaire avec redirection
    Par furth dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2006, 17h02
  4. remplacer la génération de log avec UTL_FILE.
    Par yrogerg_d dans le forum Oracle
    Réponses: 1
    Dernier message: 30/06/2006, 15h10
  5. Réponses: 3
    Dernier message: 05/05/2006, 03h05

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