2016-02-24 21 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"

希望这会有所帮助 - 我在一段时间内对各种应用程序的行为不一致感到非常头疼。