limesurvey - 从 LimeSurvey 中的 API 获取 SessionKey 空白
问题描述
var request = require('request');
//******GLOBAL***************
var SESSIONKEY = "";
var options = {
url: "https://xxxxxxxxxxxxxxxx/index.php/admin/remotecontrol",
method: "POST",
headers: {
'user-agent': 'Apache-HttpClient/4.2.2 (java 1.5)',
'host': 'xxxxxxxxxxxxxxxx',
'path': '/index.php/admin/remotecontrol',
'connection': 'keep-alive',
'content-type': 'application/json'
}
};
//*******AUTHENTIFICATION*******
options.body = JSON.stringify({
method: 'get_session_key',
params: ['myusername', 'mypassword'],
id: 1
});
request(options, function(error, response, body) {
if (!error && response.statusCode == 200) {
body = JSON.parse(body);
//*********KEEP THE KEY*********
if (SESSIONKEY === "") {
console.log("NEW KEY -->" + body.result);
SESSIONKEY = body.result;
nextFonction();
}
} else console.log("ERROR -->" + body);
});
Limesurvey 版本 - 3.0.1
运行此代码后,我得到空白正文并显示错误
SyntaxError:JSON.parse () 处的 JSON 输入意外结束
这个错误是由于石灰调查的空白响应。我该如何解决这个错误?或者有没有其他方法可以从石灰调查中获取 SessionKey?请帮忙。
解决方案
推荐阅读
- python - 处理大文件时 Azure Databricks 命令卡住。纯 Python。(2.5GB + 文件大小)
- php - PHP变量,我的代码有什么问题?
- java - Azure java SDK中的流利界面中的条件
- json - 如何使用数据绑定显示表中的数据?(角JS)
- java - 休眠搜索索引速度降低
- xamarin.android - 为 VS 2019 Xamarin 调试启用 Hyper-V
- javascript - 如何将一个组件中的输入字段引用注册到自定义 Hook?
- excel - 通过 VBScript 运行宏并置于前面(顶部窗口)
- node.js - 如何在不同的文件中定义多重存储?
- mysql - 使用外键查询以获取行值(名字和姓氏)