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

Servlets/JSP Java Discussion :

Page web ne s'affiche pas (JAVA)


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 56
    Points : 53
    Points
    53
    Par défaut Page web ne s'affiche pas (JAVA)
    Bonjour,
    Je suis un cours sur le développement web avec JAVA, et je rencontre un problème malgré que j'ai bine suivi tout les étapes du cours.
    J’essaye de me connecter au serveur de Wikipédia, lui lancer une requête et afficher la page sur une fenêtre (browser).
    Pourtant y a qu'une écriture bizarre qui s'affiche...
    J'utilise l'objet Socket pour faire la connexion, j'ai testé avec l'objet HttpURLConnection, ça marche très bien, mais avec l'objet Socket pas du tout...
    Voici le code et une capture d'écran du résultat.
    Merci d'avance

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.IOException;
    import java.net.Socket;
    import java.net.UnknownHostException;
     
    public class CommunicationClientServeurSocket {
     
        public static void main(String[] args) {
            Socket connecteur = null;
            try{
                connecteur = new Socket("fr.wikipedia.org",80);
                // On envoie une requete au serveur
                String requete = "";
                requete += "GET /wiki/Digital_Learning HTTP/1.1\r\n";
                requete += "Host: fr.wikipedia.org\r\n";
                requete += "\r\n";
                BufferedOutputStream ecrivain = new BufferedOutputStream(connecteur.getOutputStream());
                ecrivain.write(requete.getBytes());
                ecrivain.flush();
                // On récupere la reponse du serveur
                BufferedInputStream lecteur = new BufferedInputStream(connecteur.getInputStream());
                int i;
                String contenu = "";
                byte[] flux = new byte[1];// on lit 1ko à chaque fois
                while((i = lecteur.read(flux)) != -1){
                    contenu += new String(flux,0,i);
                }
                Browser b = new Browser("fr.wikipedia.org",contenu);
            }
            catch(UnknownHostException exp){
                System.out.println("Host incnnu");
            }
            catch(IOException exp){
                exp.printStackTrace();
            }
            if(connecteur != null){
                try{
                    connecteur.close();
                }
                catch(IOException exp){
                    exp.printStackTrace();
                    connecteur = null;
                }
            }
        }
    }
    Nom : Rendu.png
Affichages : 153
Taille : 107,6 Ko

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Avec HTTPUrlConnection, le stream renvoyé par java ne contient que le document, les header ayant été traité à part et les redirection ayant été respectée. Avec une socket brute, c'est à toi d'interpréter le protocole. Ici le serveur te répond que ce que tu cherche se trouve ailleur (http 301) et que l'emplacement en question se trouve dans le header location (ici https://fr.wikipedia.org/wiki/Digital_Learning, autrement dit wikipedia te force à accéder en https)

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 56
    Points : 53
    Points
    53
    Par défaut
    Re,
    Merci ! j'ai comprit, il faut préciser quel protocole à utiliser, mais comment faire cela ? , je veux dire comment utiliser le protocole HTTPS au lieu du HTTP ? devrai-je changer le HTTP 1.1 par HTTPS 1.1 ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    heu non

    le https ça passe par un autre port (443) et ça nécessite de faire du SSL, c'est à dire de l'encryption. En java il faut utiliser les SSLSocket pour ça.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 56
    Points : 53
    Points
    53
    Par défaut
    Re,
    Tout à fait, j'ai essayé avec un site web qui utilise le protocole http, et ça a fonctionné à merveille (y) , merci de votre soutien !
    Je me documenterai sur l'objet SSLSocket pour le protocole HTTPS, et je réessayerai avec Wikipédia (y).

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

Discussions similaires

  1. la page web ne s'affiche pas
    Par vacknov dans le forum Mandriva / Mageia
    Réponses: 4
    Dernier message: 01/10/2008, 16h03
  2. mon ordinateur est connecté a internet mais les pages web ne s'affichent pas
    Par saadi-amina dans le forum Dépannage et Assistance
    Réponses: 2
    Dernier message: 03/07/2008, 16h58
  3. Réponses: 3
    Dernier message: 02/07/2007, 12h58
  4. pages qui ne s'affichent pas
    Par luck dans le forum ASP
    Réponses: 4
    Dernier message: 19/07/2004, 12h35

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