2011-07-14 8 views
8
app.get('/', function(req, res){ 

var options = { 
    host: 'www.google.com' 
}; 

http.get(options, function(http_res) { 
    http_res.on('data', function (chunk) { 
     res.send('BODY: ' + chunk); 
    }); 
    res.end(""); 
}); 

});ExpressjでWebサービスコールを作成するには?

google.comのホームページをダウンロードして再印刷しようとしていますが、「送信後に変更可能なヘッダーAPIを使用できません」というメッセージが表示されます。エラー

誰でも知っていますか?どのようにhttpコールを行うには?

答えて

33

node.js文書のhereの例を確認してください。

メソッドhttp.getは便利なメソッドで、通常は本体がないGETリクエストに対して多くの基本的な処理を行います。以下は、簡単なHTTP GETリクエストを作成する方法のサンプルです。

var http = require("http"); 

var options = { 
    host: 'www.google.com' 
}; 

http.get(options, function (http_res) { 
    // initialize the container for our data 
    var data = ""; 

    // this event fires many times, each time collecting another piece of the response 
    http_res.on("data", function (chunk) { 
     // append this chunk to our growing `data` var 
     data += chunk; 
    }); 

    // this event fires *one* time, after all the `data` events/chunks have been gathered 
    http_res.on("end", function() { 
     // you can use res.send instead of console.log to output via express 
     console.log(data); 
    }); 
}); 
+0

最新のドキュメントへのリンクが更新されました。このページは、Google検索結果が高く表示されます。 – blu

+0

応答が十分に大きい場合、これはメモリを消費しませんか?あなたがそれらを得るようにチャンクを応答に書き戻す方が良いのではないでしょうか?それも可能ですか? – chovy

+1

リクエストを単にプロキシしている場合は、yesストリーミングが優先されます。 –

関連する問題