我在这里遵循了选项 #4:
https ://github.com/Microsoft/BotFramework-WebChat/blob/speech/samples/speech/index.html
并使用了我的 COGNITIVE_SPEECH_API_KEY。但是,即使代码似乎按照文档Authorization
的预期在请求中的标头中传递,我仍然收到 403 禁止。
这是我从 Chrome 开发人员工具中捕获的请求和响应:
要求
网址:wss://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?format=simple&language=en-US&Authorization=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..kK1bx_kWllytyDvdqSZlb0_HUwaLX-V6OGJGeJ3fI2k&X-ConnectionId=9B408F2612DE4902A2D37EEACC8FB350
请求方法:GET
状态码:403 禁止
响应标头
内容长度:0
日期:2017 年 5 月 28 日星期日 15:10:31 GMT
服务器:Microsoft-IIS/10.0
X-MSEdge-Ref:参考 A:B1DBE1CCBEEA44A6B0213CB1CF8B8CA6 参考 B:DEN02EDGE0314 参考 C:2017 年 5 月 28 日星期日 08:10:31 PST
请求标头
接受编码:gzip、deflate、sdch、br
接受语言:en-US,en;q=0.8
缓存控制:无缓存
连接:升级
饼干:_IFAV=A=422B5EB35D6227B47A899A55FFFFFFFF&COUNT=0&SEEALL=2&VRSN=2; SRCHD=AF=NOFORM; SRCHUSR=DOB=20160521;MSFPC=ID=a0c448564466a044a98c006abcccbaf0&CS=3&LV=201608&V=1; _RwBf=s=10&o=0&A=422B5EB35D6227B47A899A55FFFFFFFF;MUID=2350DC04198E61F62654DA0E1D8E6287;_U=1Y4QobYDPj3fzheUKiZ5uMdlvmGHvPLxng61hD9XLEWEhcPAfnXyj4UgFgyOMlw6jiTZJaP9wfqB4D6B2UYIV7_jbXnm5WTRM0ycCG-1F5YbfcPhiTR4SdgSkfPadkYRd;WLID=qgIk0rgVNCI8HNV2Z4g8xFSkWTapYBjrDBYC04Zh/6JNzAhx2KtSiq+zTmKuyODQY3+IA3XDFhKybijk6ArfNlzdJ448JV1JBNO/mmbbcGQ=; 匿名=A=422B5EB35D6227B47A899A55FFFFFFFF&E=13d0&W=1; NAP=V=1.9&E=1376&C=GKfvIsAF38G7JJpiBtQFE1j-85HTsObRYo50Mrr-fkR1HpimpRoSRA&W=1; ULC=T=CCC1|4:3;SRCHHPGUSR=CW=1329&CH=716&DPR=2&UTC=-360
主持人:speech.platform.bing.com
来源:https ://ignitiontestbotweb.azurewebsites.net
杂注:无缓存
Sec-WebSocket-Extensions :permessage-deflate; client_max_window_bits
Sec-WebSocket-Key :+oV+WOyiaN3VFOIYmX1t3w==
Sec-WebSocket-版本:13
升级:websocket
用户代理:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
bing Speech API 似乎随机接受调用。十分之一的连接尝试通过 101 Switch Protocols 状态码成功。对于相同的请求。
成功
请求网址:wss://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?format=detailed&language=en-US&Ocp-Apim-Subscription-Key=0825dc93563445aca227aa125404c299&X-ConnectionId=2679C505D3D742A5809D1F08A1934E
请求方法:GET
状态码:101 交换协议
失败(对于相同的请求)
请求网址:wss://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?format=simple&language=en-US&Ocp-Apim-Subscription-Key=0825dc93563445aca227aa125404c299&X-ConnectionId=2A47A79398D941ACB3F67A9580B908E
请求方法:GET
状态码:403 禁止