2012-03-10 12 views
0

私はlocalhostのスクリプトにアクセスし、node.jsスクリプトで解析するスクリプトを作成しようとしています。ここで私はこれまで得たものです:node.jsスクリプトからHTTPリクエストを解析する

var http = require('http'); 

var options = { 
    host:'127.0.0.1', 
    port:'80', 
    path:'/index.php' 
} 
var a = http.get(options, function(res){ 
    res.on('data', function(chunk){ 
     console.log(chunk); 
    }); 
    //console.log(res); 
}); 

しかし、これは、それが返すすべてです: <Buffer 7b 22 61 77 65 73 6f 6d 65 22 3a 22 79 65 61 68 21 22 7d>

私はそれは、ストリームのいくつかの並べ替えである知っているが、私はそれで何をするか分かりません。

答えて

3

リスナーを追加する前に、応答オブジェクトのエンコーディングを 'ascii'、 'utf8'、または 'base64'のいずれかに設定する必要があります。たとえば:

var a = http.get(options, function(res) { 
    res.setEncoding('utf8'); 
    res.on('data', function(chunk) { // no longer emits a Buffer object 
     console.log(chunk); 
    }); 
}); 
+0

または単に 'chunk.toString()'や 'chunk.toString( 'UTF8')を使用して'それをやって –

+0

@AndreySidorovは、マルチバイト文字を破ることができます。 – loganfsmyth

+0

@loganfsmyth true –

関連する問題