2014-08-29 7 views
5

J'essaie d'obtenir la page html grâce à ce module de nœud appelé Wreckobjet tampon dans Node.js

Il devrait être très facile d'obtenir des données, mais je suis incapable de les obtenir

'use strict'; 

var Wreck = require('wreck'); 

var url = 'http://www.google.it'; 

var callback = function(err, response, payload){ 
    Wreck.read(response, null, function(err, body){ 
     //here print out the html page 
    }); 
}; 

Wreck.get(url, callback); 

Ci-dessus un script simple juste une copie du readme du développeur. selon la documentation body devrait retourner un objet tampon mais comment puis-je lire à l'intérieur d'un objet corps? J'ai lu à utiliser toJSON ou toString() mais je ne reçois aucun résultat

+1

Pouvez-vous nous montrer quel code exact que vous avez utilisé dans le 'read' rappel, et ce qu'il imprimé? Une erreur est-elle survenue? – Bergi

Répondre

5

... mais je ne suis pas un résultat

Vous obtenez un résultat, un vide Buffer , mais ce n'est pas ce que tu veux, probablement.

Le fait est que vous utilisez la méthode read incorrecte, en la passant dans un rappel à la méthode get. Les méthodes get, post, put et delete déjà appel read et renvoyer le lisible Buffer pour vous, dans un rappel. Jetez un oeil à la getdoc:

get (uri, [options], rappel)

méthode de commodité pour les opérations GET.

  • uri - L'URI de la ressource demandée.
  • options - Objet de configuration facultatif contenant des paramètres pour les opérations de requête et de lecture.
  • rappel - La fonction de rappel à l'aide de la fonction de signature (err, réponse, charge utile) où:
    • err - Toute erreur qui aurait pu se produire lors de la manipulation de la demande.
    • response - L'objet HTTP Incoming Message, qui est également un flux lisible. Payload - Charge utile sous la forme d'un tampon (JSON) ou d'un objet JavaScript (éventuellement) analysé.

Ainsi, l'utilisation de la méthode get est assez simple (en utilisant votre propre exemple):

var callback = function(err, response, payload){ 
    console.log(payload.toString()); // converting the buffer to a string and logging 
}; 

Wreck.get(url, callback); 
Questions connexes