如何在javascript中捕获ERR_CERT_AUTHORITY_INVALID

bri*_*ian 5 javascript fetch iot

我正在开发的 Web 应用程序需要从本地网络中的许多不同的 IOT 获取数据,例如,

const response = await fetch("https://192.168.0.245/api/auto/login", options);
Run Code Online (Sandbox Code Playgroud)

由于是https连接,每个IOT都带有一个自签名的SSL证书,所以上面的fetch()会抛出错误“TypeError: Failed to fetch”(因为证书还没有被接受),应用将在浏览器的控制台中显示以下内容

OPTIONS https://192.168.0.245/api/auto/login net::ERR_CERT_AUTHORITY_INVALID
Run Code Online (Sandbox Code Playgroud)

我需要的是能够在 javascript 中捕获此错误。具体来说,我需要能够捕获不同的错误,如 ERR_CERT_AUTHORITY_INVALID、ERR_SSL_PROTOCOL_ERROR 或 ERR_CONNECITON_REFUSED...等,以便我可以相应地显示不同的错误消息。

不幸的是,在上述所有这三个不同的错误下,fetch() 函数总是抛出相同的“TypeError: Failed to fetch”异常。

无论如何我可以捕获这个特定的 ERR_CERT_AUTHORITY_INVALID 异常吗?

谢谢你。

Pus*_*ama -3

如果您的互联网连接不安全,那么可能会出现此错误。这意味着它不是 https。

或者您可以从服务器端删除 ssl 证书。所以你的请求格式应该像“ http://192.168.0.245/api/auto/login ”。