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

NodeJS Discussion :

Aucun affichage du résultat


Sujet :

NodeJS

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut Aucun affichage du résultat
    Bonsoir,

    Je suis en train de tester le framework "Node.js", et j'ai essayé d'exécuter le code suivant:

    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
    var username ="joshtimonen";
    var http = require('http');
     
    var request = http.get("http://teamtreehouse.com/"+username+".json",function(response){
    	console.log(response.statusCode);
     
    	var body="";
    	response.on("data",function(mydata){
     
    		body+=mydata;
    	});
     
    	response.on("end",function(){
    		console.log("==> "+body);
    	});
    });
     
    request.on("error",function(error){
    	console.error(error.message);
    })
    Le problème c'est que je reçois comme affichage:

    301
    ===>
    c'est à dire que ce code n'affiche rien (body est vide )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log("==> "+body);
    C'est quoi le problème à votre avis?

    Merci en avance.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 311
    Par défaut
    Salut
    le serveur te répond 301 : Document déplacé de façon permanente
    la bonne URL doit se trouver dans les Headers HTTP

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    J'ai pas bien compris honnêtement, quand j'accède au lien suivant par navigateur: https://teamtreehouse.com/joshtimonen.json, ça marche parfaitement!

    C'est quoi le problème exactement?

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 311
    Par défaut
    Tu serait bien naïf de croire : pouvoir rivaliser avec un navigateur en seulement 3 lignes de codes !!!!

    En réalité le navigateur a garder en mémoire l'URL de substitution car le status code est 301 et donc la redirection est permanentes mais la 1er fois ben il effectue 2 requêtes HTTP

  5. #5
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Dans le cas-ci, on peut décourvrir soi-même le problème sans trop grande peine, un peu adhoc c'est vrai, comme ça. On peut ajouter quelques lignes pour voir ce qui se passe.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var request = http.get("http://teamtreehouse.com/"+username+".json",function(response){
        console.log(response.statusCode);
        if (response.statusCode==301) {
            console.log(response.headers.location);
        }
        //j'ai racourci le script pour être bref, on peut réstorer l'original comme on veut
    });
    Et ça montre exactement la location https://teamtreehouse.com/joshtimonen.json que vous dites matcher parfaitement. On peut avoir de cas bien plus compliqués mais heursement pas le cas ici. Comme c'est un cas simple, la solution est facile. Mettez simplement le module https au lieu de http, c'est tout.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var https = require('https');
    var request = https.get("https://teamtreehouse.com/"+username+".json",function(response){
        //etc...
    });
    Voilà, c'est tout !

    Pour les cas généraux, on peut bien-entendu s'en servir des bibliothèques de tier parti communautaire, comme follow-redirects et request etc.

Discussions similaires

  1. [MySQL] Problème fonction d'affichage tableaux résultats
    Par stefsas dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/03/2010, 14h44
  2. problème d'affichage du résultat dans une classe qui utilise SNMP
    Par ramzouni dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 22/05/2009, 01h26
  3. problème affichage de résultat
    Par nicosprog dans le forum Général Python
    Réponses: 6
    Dernier message: 12/02/2009, 18h37
  4. [PDO] Problème de count et affichage des résultats
    Par s0ak68 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/01/2008, 23h03
  5. Problème d'affichage du résultat
    Par cirtey dans le forum C
    Réponses: 6
    Dernier message: 24/02/2007, 19h01

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