尝试发布到 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 中途失败