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 :

application qui connecte sur une page web


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut application qui connecte sur une page web
    salut à tous,
    j'ai réalisé une application qui connecte sur une page web et qui renvoi le code source de la page.
    Mon problème c'est que mon application fonctionne seulement lorsque j'introduit l'adresse du site et non pas l'adresse url de la page.
    Voici la ligne de code où il y a le problème:
    Socket clientSocket1 = new Socke("http://www.oaca.nat.tn/francais/index_pro_horaire_fr.htm", 80);

    L'erreur signalée est:
    java.net. UnknowHostException:http://www.oaca.nat.tn/francais/index_pro_horaire_fr.htm
    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 377
    Points : 349
    Points
    349
    Par défaut
    UnknowHostException signifie qu'il ne trouve pas le nom correspondant au serveur que tu lui passes.
    Il n'arrive pas à faire la transcription de ton nom de serveur vers un adresse IP.

    Qu'est ce que tu entends par :
    mon application fonctionne seulement lorsque j'introduit l'adresse du site et non pas l'adresse url de la page
    [/code]

  3. #3
    Candidat au Club
    Inscrit en
    mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je voulais dire que lorsque je mets:
    Socket clientSocket1 = new Socket("www.oaca.nat.tn", 80);
    Le résultat est bon.
    Mais si j'essaie avec une autre page du site, je n'arrive pas à obtenir le bon résultat.
    Voici le code de mon application:
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    import java.io.*;
    import java.net.*;
     
    /**
     * An application that opens a connection to a web server and reads
     * a single Web page from the connection.
    */
    public class SimpleWebClient {
        public static void main(String args[])
        {
            try
            {
                // Open a client socket connection
                Socket clientSocket1 = new Socket("www.oaca.nat.tn", 80);
                System.out.println("Client1: " + clientSocket1);
     
                // Get a Web page
                getPage(clientSocket1);
            }
            catch (UnknownHostException uhe)
            {
                System.out.println("UnknownHostException: " + uhe);
            }
            catch (IOException ioe)
            {
                System.err.println("IOException: " + ioe);
            }
        }
     
        /**
         * Request a Web page using the passed client socket.
         * Display the reply and close the client socket.
         */
        public static void getPage(Socket clientSocket)
        {
            try
            {
                // Acquire the input and output streams
                DataOutputStream outbound = new DataOutputStream(
                    clientSocket.getOutputStream() );
                BufferedReader inbound = new BufferedReader(
                    new InputStreamReader(clientSocket.getInputStream()) );
                // Write the HTTP request to the server
                outbound.writeBytes("GET / HTTP/1.0\r\n\r\n");
     
                // Read the response
                String responseLine;
                while ((responseLine = inbound.readLine()) != null)
                {
                    // Display each line to the console
                    System.out.println(responseLine);
                }
     
     
                // Clean up
                outbound.close();
                inbound.close();
                clientSocket.close();
            }
            catch (IOException ioe)
            {
                System.out.println("IOException: " + ioe);
            }
        }
     
     
    }

  4. #4
    Membre averti
    Inscrit en
    mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 377
    Points : 349
    Points
    349
    Par défaut
    Bon à mon avis c normal.
    La classe Socket sert à connecter un serveur et non une page HTML.
    On ne se connecte d'ailleurs pas à une ressource mais à un serveur.
    Pour ce qui est de ton problème, tu peux résoudre celui-ci en utilisant la classe java.net.URL et java.net.URLConnection.
    http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html
    http://java.sun.com/j2se/1.3/docs/api/java/net/URLConnection.html
    Cela te permettra d'obtenir tout ce dont tu as besoin.

  5. #5
    Candidat au Club
    Inscrit en
    mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    je m'excuse mais les adresses url que vous m'avez donné sont invalide.
    Puis je y accéder autrement

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2002
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2002
    Messages : 93
    Points : 102
    Points
    102
    Par défaut
    Corrigez-moi si je me trompe, mais qu'on parle d'une page précise, on ne s'y «connecte» pas, on la lit.

    Si j'ai à récupérer le code d'une page Web précise avec une application, j'ouvre ce qu'on appelle un «stream» par l'entremise duquel la réponse du serveur me parvient.

    J'ignore comment tu peux y arriver en Java, alors je ne peux malheureusement pas aider davantage. En effet, j'utilise le JavaScript côté serveur dans mes JSP plutôt que le Java.

  7. #7
    Candidat au Club
    Inscrit en
    mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : mars 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    ça y est ça marche.
    J'ai utilisé les deux classes java.net.URL et java.net.URLConection et j'ai obtenu un bon résultat.
    Merci à tous pour votre aide.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/04/2015, 14h33
  2. Réponses: 5
    Dernier message: 15/07/2014, 18h45
  3. [HTML] Créer une notification de connection sur une page web
    Par le vg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 28
    Dernier message: 17/03/2008, 19h52
  4. Réponses: 5
    Dernier message: 02/10/2006, 18h18
  5. Application de filtre de couleur sur une page web
    Par kalan dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 21/06/2006, 19h44

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