我在 API 调用后得到以下结果。我的节点版本是12.x {"type":"Buffer","data":[123,34,101,114,114,111,114,115,34,58,91,34,74,87,84,32,105,115,32,101,120,112,105,114,101,100,32,111,114,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,112,114,111,112,101,114,32,39,101,120,112,39,32,99,108,97,105,109,34,93,125,11]}请参阅下面的代码片段:let postOptions = { host: 'vault.server', path: '/v1/auth/gcp/login', method: HTTPS.POST_REQUEST, headers: { 'Content-Type': 'application/json; charset=utf-8', 'X-Vault-Namespace': 'mynamespace' }, json: true, rpDefaults: { strictSSL: false } }; let requestPayLoad = { "role": this._vaultRole, "jwt": signedJWT }; console.log(JSON.stringify(requestPayLoad)); console.log(JSON.stringify(postOptions)); try { let result = await HTTPS.makeRequest(postOptions, JSON.stringify(requestPayLoad), HTTPS.POST_REQUEST); console.log('Response***************',JSON.stringify(result)); return result.auth.client_token; }请参阅下面的 http make 请求方法的代码片段。return new Promise((resolve, reject) => { let rq = https.request(options, (res) => { let response; let chunks = []; res.on('data', (chunk) => { chunks.push(chunk); }); res.on('end', () => { response = Buffer.concat(chunks); return resolve(response); }); }); rq.on('error', (e) => { return reject({'statusCode': 500, 'success': false, 'error': e.toString()}); }); if (type === 'POST') { rq.write(data); } rq.end(); });请帮我解决这个问题
2 回答

FFIVE
TA贡献1797条经验 获得超6个赞
您正在以缓冲区的形式接收数据。使用toString()方法将此缓冲区转换为try块内的字符串。
try {
let result = await HTTPS.makeRequest(postOptions, JSON.stringify(requestPayLoad), HTTPS.POST_REQUEST);
console.log('Response***************', result.toString());
return result.auth.client_token;
}

拉莫斯之舞
TA贡献1820条经验 获得超10个赞
如果您想访问 API 调用返回的响应中的数据,请执行以下操作:
let data = result.data;
我想获得 client_token,如下所示:
return result.auth.client_token;
这是不可能的,因为响应没有 auth 属性:
{"type":"Buffer","data":[123,34,101,114,114,111,114,115,34,58,91,34,74,87,84,32,105,115,32,101,120,112,105,114,101,100,32,111,114,32,100,111,101,115,32,110,111,116,32,104,97,118,101,32,112,114,111,112,101,114,32,39,101,120,112,39,32,99,108,97,105,109,34,93,125,11]}
添加回答
举报
0/150
提交
取消