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

Entrée/Sortie Java Discussion :

[réseaux][débutant] HttpURLConnection


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 30
    Par défaut [réseaux][débutant] HttpURLConnection
    je voudrais connaitre la facon la plus simple
    d'exectuer une requete http en java, j'ai commencé
    par faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
    con.connect();
    con.setRequestMethod("GET");
    String reponse=con.getResponseMessage();
    System.out.println(reponse); // test affiche
    ça ne fonctionne pas..

    mon url est du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.lesms.com/http.php?email=&pass=&numero=&message=
    elle permet d'envoyer des sms
    la requete répond par un code (80, 81.. jusqu'a 90)

    ce code s'affiche dans le navigateur lorssque je tape l'url
    dans un navigateur...

    ce type de code de retour est-il donc uniquement générer
    dans la page html, et donc il faut que je récupere le
    contenu de la page, ou est ce qu'il s'agit d'un genre
    de code de retour de type entier?

    de toute facon a l'execution j'ai le droit à un "bad request"..


    Rectification ca marche c'est la valeure de mon message qui était trop longue

    mais j'arrive tjrs pas à récupérer le code en question..

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Dans un premier temps, l'appel de setRequestMethod() est inutile puisque GET est la valeur par défaut. Ensuite il devrait se trouver avant l'appel de connect().

    Ensuite, getResponseMessage() te renvoit la réponse du serveur HTTP, mais pas le contenu de la page. Pour cela il faut que tu utilises getInputStream().

    a++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 30
    Par défaut
    merci!

    j'essai de convertir l'input stream en string mais je n'y arrive pas, voila mon bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	        // récupération du contenu de la page dans un InputStream
    		InputStream is=con.getInputStream();
    		// copie du contenu de l'InputStream dans un tableau d'octets
    		byte[] b=null;
    		int nbOctetsLus=is.read(b);
    		// creation d'une nouvelle chaine de caractère à partir de ce tableau d'octets
    		String rep=new String(b);
    		// on affiche dans la console
    		System.out.println(rep);

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Tu n'as pas instancier ton tableau de byte, donc je pense que read() doit te renvoyer un NullPointerException...
    Voici le code spécifique à ton cas. Mais si tu devais charger une page plus importante, il aurait fallut utiliser une boucle et un StringBuffer...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	        // récupération du contenu de la page dans un InputStream
    		InputStream is=con.getInputStream();
    		// copie du contenu de l'InputStream dans un tableau d'octets
    		byte[] b= new byte[2];
    		int nbOctetsLus=is.read(b);
    		// creation d'une nouvelle chaine de caractère à partir de ce tableau d'octets
    		String rep=new String(b,0,nbOctetsLus);
    		// on affiche dans la console
    		System.out.println(rep);
    a++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 30
    Par défaut
    ça marche,
    merci!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/05/2015, 11h50
  2. Admin Réseaux débutant Paris
    Par Blu3red dans le forum Salaires
    Réponses: 4
    Dernier message: 23/02/2013, 09h56
  3. débutante en réseaux
    Par youssra dans le forum Hardware
    Réponses: 3
    Dernier message: 05/09/2007, 14h56
  4. Débutant - dut Réseaux-télécoms
    Par vever88 dans le forum Emploi
    Réponses: 2
    Dernier message: 26/04/2007, 10h28

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