的问题。我在SAPS/4HANA服务器上部署了一个OData服务。可以在浏览器中通过以下url正常访问元数据:varurl='https://ldai2xxx:44356/sap/opu/odata/sap/ZBOOK_MANAGE_SRV/$metadata';varoOptions={url:url,method:'GET'};varoPromise=newPromise(function(resolve,reject){request.get(oOptions,function(error,response,body){if(error){console.log("erroroccurred:"+error);reject(error);}resolve(body);});});oPromise.then((data)=>console.log(data));使用node执行上面的代码,遇到如下错误信息:erroroccurred:Error:unabletogetlocalissuercertificate(node:33376)UnhandledPromiseRejectionWarning:E??rror:unabletogetlocalissuercertificateatTLSSocket.onConnectSecure(_tls_wrap.js:1497:34)在TLSSocket.emit(events.js:315:20)在TLSSocket._finishInit(_tls_wrap.js:932:8)在TLSWrap.ssl.onhandshakedone(_tls_wrap.js:706:12)(使用节点--trace-warnings...显示创建警告的位置)(节点:33376)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误要么是在没有catch块的情况下在异步函数内部抛出,要么是因为拒绝了一个没有用.catch()处理的承诺。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.ht...)。(拒绝ID:1)(节点:33376)[DEP0018]DeprecationWarning:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。在应用程序构建过程中,当用户连接到使用SSL支持安全HTTPS流量的系统时,可能会出现无效的安全证书错误。在某些情况下,证书是由用户使用操作系统未知的本地证书颁发机构生成的。如果发生这种情况,ApplicationBuilder会拒绝连接请求并报告错误。解决方法在windows环境下设置环境变量,使用set语法,名字后面不要加空格,直接附上两个&&,然后一个空格,跟上新的命令。setNODE_TLS_REJECT_UNAUTHORIZED=0&&nodeag3.js这个方案的目的是将环境变量NODE_TLS_REJECT_UNAUTHORIZED的值设置为0,暂时关闭SSL证书的验证。执行后,看到警告信息:Warning:SettingtheNODE_TLS_REJECT_UNAUTHORIZEDenvironmentvariableto'0'makesTLSconnectionsandHTTPSrequestsinsecurebydisablingcertificateverification.提醒我们这个环境变量的设置是禁用证书验证,通过禁用证书验证让TLS连接和HTTPS请求不安全。HTTPS请求不再安全。收到401状态码,表示终于和服务器建立了连接:
