2017-10-26 12 views
2

以下のコードスニペットを実行していますが、実際のページにリダイレクトしていません。ノード 'http'を使用してターゲットURLにリダイレクトする方法

var http = require('http'); 

var options = { 
    host: 'google.com', 
    port: 80, 
    path: '/search?q=hello+world' 
}; 

http.get(options, function(resp){ 
resp.setEncoding('utf8'); 
    resp.on('data', function(chunk){ 
    //do something with chunk 
console.log('================\n\n', chunk); 
    }); 
}).on("error", function(e){ 
    console.log("Got error: " + e.message); 
}); 

コマンド火災:

node sample.js 

出力:

================ 

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> 
<TITLE>302 Moved</TITLE></HEAD><BODY> 
<H1>302 Moved</H1> 
The document has moved 
<A HREF="http://www.google.co.in/search?q=hello+world&amp;gws_rd=cr&amp;dcr=0&amp;ei=Wd3xWd_nBITovgSl9bXwCA">here</A>. 
</BODY></HTML> 

私はページ全体のHTMLを取得したいではなく、私のいない、これはHello Worldのために結果が欲しいです。

+0

google.comは相対アドレスです。これをHttp://google.comに変更する必要があります –

+0

次に、このエラーが表示されます。getaddrinfo ENOTFOUND http://www.google.com http://www.google.com:80 – VVB

+0

ポートなしでテストしましたか数? –

答えて

0

resp.redirect('url');を使用して、必要なページにリダイレクトします。

基本的node jscreate server .Butために開発されincidentlyそれは..youは、express jsなど少なくとも何らかのframeworksを試すことができますcore node jsでアプリケーションを作るために、その洙diffcult ..so server sideに来ている... https://expressjs.com/はちょうどこのstrong & easy & famousフレームワークを介して行きます。あなたがそれを好きではないなら別のものに行く

+0

このタイプエラーを取得する:resp.redirectは関数ではありません – VVB

+0

私の更新された回答を参照してください – Jana

+0

私はcreateServer()メソッドでブラウザでこれを開きたくないのですが、コンソール自体の – VVB

0

utf8 - "utf-8"の代わりに入れてみてください。ダッシュ記号で

+0

まだ同じ結果 – VVB