尝试发布到 Limesurvey RC API 时出现 Node.js 错误,ECONNREFUSED

Posted

技术标签:

【中文标题】尝试发布到 Limesurvey RC API 时出现 Node.js 错误,ECONNREFUSED【英文标题】:Node.js Error, ECONNREFUSED when trying to post to Limesurvey RC API 【发布时间】:2014-05-30 20:29:45 【问题描述】:

我在尝试使用请求模块向服务器的 Limesurvey 远程控制 API 发出 POST 请求时收到 ECONNREFUSED 错误(如下所示)。有什么我做错了吗?代码低于错误。

编辑: 修复了 http:// 之间的空格 // 现在出现新错误。

新错误:

"id":null,"result":null,"error":"unable to decode malformed json"

错误:

 [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' 

代码:

var options = 
    "url": "http://localhost/limesurvey/index.php/admin/remotecontrol",
    "headers": 
      "Host": "dev-rheumpro.cis.uab.edu",
      "Content-Type": "application/json",
      "Connection": "Keep-Alive",
      "Content-Length": "65",
      "Port": "80",
      "User-Agent": "request"
   ,
   "body": ' "method": "get_session_key", "params":  "username": "admin", "password":"password" ,"id": 1'


request.post("http: //localhost/limesurvey/index.php/admin/remotecontrol", options, function callback(error, response, body) 
if(!error && response.statusCode == 200)
    console.log("testing");

else 
    console.log(error);


);

【问题讨论】:

也许这只是问题中的一个错字,但以防万一它也在您的代码中:request.post 中的 'http:' 和 '//' 之间有一个空格 哇,我什至没听懂,谢谢。我修复了它,现在它给了我:'"id":null,"result":null,"error":"unable to decode malformed json"' @balafi JSON-RPC 信封中的 jsonrpc 属性在哪里? 服务器是否需要 JSON-RPC 信封的 params 属性中的“命名”或“位置”参数(或两者之一)? 根据 Limesurvey 的 API 页面,它类似于 jsonrpc 1,他们提供了一个示例标头,尽管该网站声称它使用的是什么,但没有提及 jsonrpc。我使用 Chrome 中的 Postman 扩展来发布到我的服务器,它工作得很好。我对此很陌生,我不确定我的代码中是否缺少某些内容或其他内容。 @David-SkyMesh 【参考方案1】:

将 'id', 1 更改为(“您的调查 id”)。

【讨论】:

以上是关于尝试发布到 Limesurvey RC API 时出现 Node.js 错误,ECONNREFUSED的主要内容,如果未能解决你的问题,请参考以下文章

LimeSurvey:无论如何要使用 get_session_key , JSON-RPC 和 Authwebserver?

LimeSurvey RemoteControl2 API - 任何 add_response PHP 示例?

LimeSurvey 远程控制 - 在 import_survey 中途失败

ASP.NET 5 MVC 6 RC1 API 中的自定义模型绑定异常

搭建 LimeSurvey投票调查问卷系统

VS 2017 RC尝试调试xUnit测试时生成0x8000ffff错误