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

Langage Java Discussion :

Probleme avec openstream()


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Par défaut Probleme avec openstream()
    Salut la compagnie,

    J ai un gros probleme avec la fonction openStream.Alors j explique:

    j ai ecrit un programme java dans laquelle j ai une methode ou j envoie une adresse url et cette methode me retourne le code source de l url dans un grand string..Voila en gros ce que fait ma methode...
    Le probleme avec cette methode c est qu elle doit faire un openStream afin d ouvrir un stream avec un serveur.Et malheureusement openStream me fait une erreur car il arrive que le serveur est surchargé(Server returned HTTP response code: 500)

    J ai essayé de faire un controle avec un if mais ca marche pas:

    if(u.openStream()!=null){
    InputStream connex = u.openStream();
    }
    Comme vous pouvez le voir,meme si le openStream du if passe,le 2eme openStream ne passe pas forcement...enfaite il faudrait que je fasse un controle d openstream avec une attribution a la variable connex en meme temps ou une autre solution....je vous met le code de ma methode afin que vous compreniez mieux...merci d avance ceux qui se creuseront un peu la tete....


    private String getDocumentFromURL(String url) {
    URL u;

    try {
    u = new URL(url);
    } catch (MalformedURLException e) {
    System.err.println("ERROR: Malformed URL: " + url);
    return null;
    }

    try {


    String line;
    StringBuffer doc = new StringBuffer();


    if((u.openStream()!=null)){
    InputStream connex = u.openStream();
    BufferedReader br = new BufferedReader(new InputStreamReader((connex)));
    while ((line = br.readLine()) != null) {
    doc.append(line + "\n");
    }
    }else{
    System.out.println("no connex");
    return null;
    }

    return doc.toString();


    }
    catch (IOException e) {
    System.err.println("ERROR: Unable to retrieve URL: " + url);
    e.printStackTrace();
    return null;
    }
    }


    et voici l erreur que ca me fait :

    ERROR: Unable to retrieve URL.java.io.IOException: Server returned HTTP response code: 500 for URL.
    at sun.net.http://www.protocol.http.HttpURLConn...Stream(Unknown Source)
    at java.net.URL.openStream(Unknown Source)
    at WebCrawler.getDocumentFromURL(WebCrawler.java:521)
    at WebCrawler.complexExtractData(WebCrawler.java:484)
    at WebCrawler.main(WebCrawler.java:196)

  2. #2
    Membre chevronné Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Par défaut
    au lieu de faire openStream(), fait un openConnection() qui dont ton cas te retournera une instance de la classe HttpURLConnection, regarde celle-ci dans la javadoc tu y trouveras ton bonheur.

    PS: pense a la balise code !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Par défaut
    t es un chef!!!!

    ca marche maintenant!!!!!

  4. #4
    Membre chevronné Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Par défaut
    Ouai je sais lol

    Penses a la balise résolu stp

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Par défaut
    et ptite question mais si personne trouve c est pas grave...

    comme il y a environ 4,5 erreur que l on trouve regulieremnt losque l on accede a une page....j aimerais savoir si y a pas un truc qui permet de tout checker d un coup....

    genre eviter ca:

    if((connection instanceof HttpURLConnection&&((HttpURLConnection)connection).getResponseCode() != (400))&&(connection instanceof HttpURLConnection&&((HttpURLConnection)connection).getResponseCode() != (500)&&(connection instanceof HttpURLConnection&&((HttpURLConnection)connection).getResponseCode() != (402))&&ETC.....{


    merci d avance

  6. #6
    Membre chevronné Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Par défaut
    Pas à ma connaissance, mais si je devais faire cela, je mettrai tout ceci dans une fonction et je n'aurai donc pas à réecrire ces 5/6 lignes à chaque fois.

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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