2016-04-05 12 views
0

単一のhttp要求を複数のサーバーにリダイレクトする必要があります。Nodejを使用して単一のHTTP要求マルチリダイレクションが必要

res.writeHead(301、{'Location':urlToRedirect1}); res.writeHead(301、{'場所':urlToRedirect2});

私は上記のコードを使用してリダイレクトできません。最後のurl(urlToRedirect2)だけが適切にリダイレクトされます。

res.writeHeadを使用して複数のサーバーをリダイレクトすることは可能ですか?そうでない場合、私はこれに対する代替案を知ることができます。

+1

いいえ、それは不可能です。単一要求の単一応答。量子物理学で可能かもしれません –

+0

ノードjs – shunmugarajan

+0

でこれを行うための代替ソリューションはありますか? – mscdex

答えて

0

上記の音からrequest moduleを確認してください。リダイレクトは必要ありません。次のようなもの(私はあなたがフォームのポストを受けていると仮定していると、要求のボディはあなたが転送に必要なものであることに注意。

function makeRequest(callback){ 
    var request - require('request'); 
    var dataToSend = req.body; 
    var url1 = 'http://server1/resource'; 
    var url2 = 'http://server2/resource'; 

    // Send to server 1 
    request.post(url1, dataToSend, function(err, response, body){ 
     if(err) return callback(err); 
     // Make the second call 
     request.post(url2, dataToSend, function(err2, response2, body2){ 
     if(err2) return callback(err2); 
     // Both calls are now complete 
     callback(null); 
    }); 
} 

あなたが二つ以上のコール以下のコードを作成する必要がある場合は厄介になりますあなたはおそらく、呼び出すURLと引数としてのデータを受け取ってループ内で呼び出す単一のmakeRequest関数を作成したいと思うでしょう。

関連する問題