Node.js microsoft认知:在Bing语音到文本服务的NodeJ中获取EconReset错误

Node.js microsoft认知:在Bing语音到文本服务的NodeJ中获取EconReset错误,node.js,microsoft-cognitive,Node.js,Microsoft Cognitive,我正在尝试从节点使用bing语音到文本服务。流式传输.wav文件时出现以下错误。非常感谢您的帮助 events.js:154 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at exports._errnoException (util.js:890:11) at TLSWrap.onread (net.js:550:26) Http选项如下所示: var post\u选项={

我正在尝试从节点使用bing语音到文本服务。流式传输.wav文件时出现以下错误。非常感谢您的帮助

events.js:154
      throw er; // Unhandled 'error' event
     ^
Error: read ECONNRESET
    at exports._errnoException (util.js:890:11)
    at TLSWrap.onread (net.js:550:26)
Http选项如下所示:

var post\u选项={
主机名:“speech.platform.bing.com”,
路径:'/recognize',
方法:“发布”
};
post_option.headers={
“内容类型”:audio/wav;samplerate=16000’,//“audio/wav;codec=“audio/wav”;samplerate=16000;sourcerate=8000;trustsourcerate=false”,
//“keepAlive”:对,
//“内容长度”:waveData.Length,
“授权”:“持有人”+OxfordAccessToken.access\u令牌,
//“用户代理”:“TTSNodeJS”,
“X-Search-AppId”:“X-Search-AppId”,
“X-Search-ClientID”:“X-Search-ClientID”
};
post_option.qs={
“场景”:“ulm”,
'appid':'----------',//此魔术值是必需的
“locale”:“en-US”,
'device.os':'wp7',
“版本”:“3.0”,
“格式”:“json”,
'requestid':'----',//可以是任何内容
'instanceid':'----'//可以是任何内容
};
NodeJS调用SpeechToText服务

res.on('end',function(){
OxfordAccessToken=eval('('+_data+'));
var voiceStream=fs.createReadStream(“voiceresponse.wav”,{encoding:“binary”});
var https=require('https');
var post_req=https.request(getPostOptionsForSTT(OxfordAccessToken),(res)=>{
如果(错误){
日志(“STT期间出错”);
}
var-stresponse;
res.on('数据',函数(缓冲区){
stresponse+=缓冲区;
});
日志(“STT结果:+STT响应”);
});
管道(post_req,{end:false});

拉塞赛德自己回答了这个问题,但为了节省大家的时间,这里有一些代码:

const querystring = require('querystring'); // or query-string, or qs

var params = {
    'scenarios': 'ulm',
    'appid': 'D4D52672-91D7-4C74-8AD8-42B1D98141A5',
    'locale': 'en-US',
    'device.os': 'wp7',
    'version': '3.0',
    'format': 'json',
    'requestid': '------', // can be anything
    'instanceid': '------' // can be anything   
};

var post_option = {
    hostname: 'speech.platform.bing.com',
    path: '/recognize?' + querystring.stringify(params),
    method: 'POST'
};

post_option.headers = {
    'Content-Type': 'audio/wav; samplerate=16000', // For example
    'Authorization': 'Bearer ' + OxfordAccessToken.access_token
};

它无法工作,因为查询字符串未通过URL传递;通过将查询字符串附加到选项下的路径进行修复。post_选项={hostname:'speech.platform.bing.com',路径:'/recognize',方法:'post'};