【发布时间】:2025-12-23 18:20:12
【问题描述】:
我正在开发的 Web 应用程序需要从本地网络中的多个不同 IOT 获取数据,例如,
const response = await fetch("https://192.168.0.245/api/auto/login", options);
由于是https连接,而且每个IOT都携带一个自签名的SSL证书,所以上面的fetch()会抛出错误“TypeError: Failed to fetch”(因为证书还没有被接受),并且应用程序将在浏览器的控制台中显示以下内容
OPTIONS https://192.168.0.245/api/auto/login net::ERR_CERT_AUTHORITY_INVALID
我需要的是能够在 javascript 中捕捉到这个错误。具体来说,我需要能够捕获不同的错误,例如 ERR_CERT_AUTHORITY_INVALID、ERR_SSL_PROTOCOL_ERROR 或 ERR_CONNECITON_REFUSED... 等,以便相应地显示不同的错误消息。
不幸的是 fetch() 函数在上述所有这三个不同的错误下总是抛出相同的“TypeError: Failed to fetch”异常。
无论如何我可以捕捉到这个特定的 ERR_CERT_AUTHORITY_INVALID 异常吗?
谢谢。
【问题讨论】:
-
在客户端是否 100% 强制执行?也许您可以使用更好的工具通过服务器端脚本代理请求。例如 curl。
标签: javascript fetch iot