我从nodejs文档Link中提取了这段代码,但是当我使用我的nodejs服务器运行时它给了我这个错误。 堆栈溢出的一些人有同样的错误,但我找不到解决方案。
var postData = querystring.stringify({
'msg' : 'Hello World!'
});
var options = {
host: 'westus.api.cognitive.microsoft.com',
port: 443,
path: '/vision/v1.0/ocr?language=pt&detectOrientation=true',
method: 'POST',
headers: {'Ocp-Apim-Subscription-Key': 'API_KEY',
'Content-type': 'application/json'
}
};
var req = http.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.setEncoding('utf8');
res.on('data', (chunk) => {
console.log(`BODY: ${chunk}`);
});
res.on('end', () => {
console.log('No more data in response.');
});
});
req.on('error', (e) => {
console.log(`problem with request: ${e.message}`);
});
// write data to request body
req.write(postData);
req.end();
答案 0 :(得分:1)
您似乎使用了http
而不是https
。您启动的请求适用于和HTTPS连接。由于http
模块无法理解底层TLS协议,因此TLS握手失败。
将http
替换为https
,你会没事的。
更多细节: