2016-03-23 10 views
2

私はnodeとlaravelでアプリケーションを書いています。私はhttp://localhost:8000に解決する小さなlaravelローカルサーバーを実行しています。私はlocalhost:3000上のノードサーバーも実行しています。次に、最初のサーバーを2番目のサーバーから呼び出しようとします。localhost(laravel、nodejs)からlocalhostを呼び出すにはどうしたらいいですか?

httpCaller.call('http://localhost', '/fire'); 

私は次の応答を得る:

var http = require('http'); 


module.exports = { 
    call: function (host, path) { 
     var options = { 
      host: host, 
      path: path, 
      port: 8000, 
      method: 'GET' 
     }; 

     callback = function(response) { 
      var str = ''; 

      response.on('data', function (chunk) { 
      str += chunk; 
      }); 

      response.on('end', function() { 
      return str; 
      }); 
     } 

     http.request(options, callback).end(); 
    } 
} 

これは私が作っています実際の呼び出しは次のとおりです。私は、httpリクエストを作るのはここ

var restify = require('restify'); 

var server = restify.createServer(); 

server.listen(3000, function() { 
    console.log('%s listening at %s', server.name, server.url); 
}); 

されています。ここNodeJsコードがありますコマンドラインで:

Error: getaddrinfo ENOTFOUND http://localhost http://localhost:8000 
    at errnoException (dns.js:26:10) 
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26) 

http://を削除してローカルホストに電話をかけてみたところ、次のようになりました:

Error: connect ECONNREFUSED 127.0.0.1:8000 
    at Object.exports._errnoException (util.js:890:11) 
    at exports._exceptionWithHostPort (util.js:913:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1057:14) 

どうすればいいですか?

答えて

0

http.get機能をお試しください。

http.get('http://localhost:8000/fire', (res) => { 
    console.log(`Got response: ${res.statusCode}`); 
    // consume response body 
    res.resume(); 
}).on('error', (e) => { 
    console.log(`Got error: ${e.message}`); 
}); 
関連する問題