2016-02-24 23 views
0

當我們的節點使用請求庫發出HTTP POST請求時,節點應用程序拋出此錯誤(錯誤僅在一個特定的節點應用程序,在使用中間件的同一臺機器上的其他應用程序中沒有問題)。當節點表達中間件發出POST請求時(使用節點請求庫)

當外部POST請求(通過中間件)發送到「http://outsite.com/requestData」時,POST不起作用,錯誤將顯示爲「錯誤:連接ENOENT/requestData」。

代碼拋出錯誤:

var requestLib = require('request'); 
var url = "http://httpbin.org/post"; 
var reqOptions = { 
    uri: url, 
    method: "POST", 
    headers: { 
     "Content-Type": "application/text" 
    }, 
    timeout: 100000, 
    body: encodeURIComponent("Testing"), 
    forever: true, //keepalive 
}; 
requestLib(reqOptions, function(error, response, body) { 
    if (error) { 
    console.log(error); 
    } 
}); 
+0

請在通話前發佈reqOptions的內容。 requestLib只是'require('request');'? – bolav

+0

@bolav謝謝。更新了問題,var requestLib = require('request'); – harisankarh

+0

我試過你的代碼,它在這裏工作的很好。 –

回答

0

我經歷了多臺機器這個問題。運行您提供的相同代碼片段我發現POSTs在使用[email protected]時運行正常,但始終以Error: ENOENT代替[email protected]以及其他各種小版本< 2.69。

我建議使用以下方法更新您的package.json以解決此問題: "request": "~2.69.0"

希望這會有所幫助 - 我在一段時間內對各種應用程序的行爲不一致感到非常頭疼。