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

Développement Web en Java Discussion :

Problème avec un url.openStream


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Responsable informatique
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Par défaut Problème avec un url.openStream
    Bonjour
    L'appel à url.openStream() a un comportement bizarre : il change le contenu de l'url et plante, car l'url modifiée n'existe pas ; je n'ai pas ce problème pour d'autres url

    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
      public static void main(String[] argv){ 
        String adresse = "1rPALU";
        URL url = null;
     
        try{
            url = new URL("http://www.boursorama.com/infos/consensus/consensus_previsions.phtml?symbole="+adresse);
            //url = new URL("http://www.boursorama.com/cours.phtml?symbole="+adresse);
     
            System.out.println(url.toString());
     
            System.out.println(url.openStream().toString());
     
            InputStream is = url.openStream();
        }
        catch(MalformedURLException e){
           System.out.println("Error 1 : url incorrecte");
           e.printStackTrace();
        }    
        catch (FileNotFoundException e) {
            e.printStackTrace();       
            System.out.println("Error Test FNF1");
            System.out.println(e.getMessage());
        }        
        catch (IOException e) {
            e.printStackTrace();
            System.out.println("Error Test IO1");
        }  
      }
    Cela donne :
    http://www.boursorama.com/infos/cons...symbole=1rPALU
    Error Test FNF1
    http://www.boursorama.com/cours/cons...symbole=1rPALU

    .../infos/... est remplacé par .../cours/...

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    Bonjour,

    Ça ne serais pas du à une redirection de la part de boursorama, car quand j'essaye d'accéder à ton lien j'arrive sur la page d'accueil du site?

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable informatique
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Par défaut
    Oui, ça y ressemble en tout cas. Je suppose que Boursorama repère qu'il s'agit d'un programme, et non d'un accès par navigateur.
    Il semble qu'on peut modifier l'entête Http pour simuler un navigateur, mais je ne sais pas comment faire. J'ai un peu cherché, mais je n'ai pas encore trouvé. Si tu as une idée ...

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    Quand tu colles ton url dans ton navigateur tu arrive à accéder à la page voulue ou pas, car moi j'arrive sur la page d'accueil?

    Pour simuler l'appel via un navigateur dans ton programme tu peux utiliser la ligne suivante, je pense que ça suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect.setRequestProperty("User-Agent", "Mozilla/5.0");

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable informatique
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Par défaut
    Oui, avec l'adresse de départ (http://www.boursorama.com/infos/cons...symbole=1rPALU)

    Sinon avec l'adresse redirigée (http://www.boursorama.com/cours/cons...symbole=1rPALU), j'arrive aussi sur la page d'accueil du site.

    J'ai essayé la méthode que tu proposes, mais ça ne marche pas mieux :

    URLConnection connexion = null;
    try {
    URL monURL = new URL("http://www.boursorama.com/infos/consensus/consensus_previsions.phtml?symbole=1rPALU");
    connexion = monURL.openConnection();
    System.out.println(connexion.getRequestProperty("User-Agent"));
    connexion.setRequestProperty("User-Agent", "Mozilla/5.0");
    System.out.println(connexion.getRequestProperty("User-Agent"));
    System.out.println("Avant exception : "+connexion.toString());

    //La commande qui déclenche l'exception :
    InputStream flux = connexion.getInputStream();

    } catch (Exception e) {
    e.printStackTrace();
    System.out.println("Apres exception : "+connexion.toString());
    }

    Ca donne :
    null
    Mozilla/5.0
    Avant exception : sun.net.http://www.protocol.http.HttpURLConn...symbole=1rPALU
    Apres exception : sun.net.http://www.protocol.http.HttpURLConn...symbole=1rPALU

  6. #6
    Membre régulier
    Homme Profil pro
    Responsable informatique
    Inscrit en
    Octobre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2011
    Messages : 8
    Par défaut
    Mince, le résultat est tronqué ; mais on retrouve le même problème (info remplacé par cours !!
    mais peut-être que je ne m'y prends pas correctement ?

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

Discussions similaires

  1. Spring-Faces + problème avec les URL paramétrés
    Par ITLEARNEAR dans le forum JSF
    Réponses: 0
    Dernier message: 24/05/2014, 01h58
  2. Problèmes avec les URL FTP
    Par ngatchou dans le forum Général Java
    Réponses: 5
    Dernier message: 13/06/2012, 15h23
  3. Problème avec RequestBuilder: URL absolue
    Par schwarzy2 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 06/09/2011, 13h24
  4. [4.0] Problème avec l'Url Routing
    Par Nadd dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/06/2009, 20h38
  5. Problème avec l'url rewriting
    Par sami_c dans le forum Apache
    Réponses: 6
    Dernier message: 02/09/2008, 09h22

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