我正在对我的URL做简单的GET请求,我收到错误“ERR_INSECURE_RESPONSE”。这很好,因为证书是自签名的。但我有两个问题:
- 有没有办法在扩展中克服这个问题?就像在请求中设置一个标志或者像那样? (可能不太可能)
- 有没有办法处理这个错误(通知用户)?我检查了所有XMLHttpRequest字段,看不到任何可以指示此错误的内容。状态字段的值为0(零)。
有任何想法吗?
我正在对我的URL做简单的GET请求,我收到错误“ERR_INSECURE_RESPONSE”。这很好,因为证书是自签名的。但我有两个问题:
有任何想法吗?
chrome.webRequest.onErrorOccurred
事件以获得网络错误的通知。该 error
属性将包含网络错误代码。例如:
chrome.webRequest.onErrorOccurred.addListener(function(details) {
if (details.error == 'net::ERR_INSECURE_RESPONSE') {
console.log('Insecure request detected', details);
}
}, {
urls: ['*://*/*'],
types: ['xmlhttprequest']
});
var x = new XMLHttpRequest;
x.open('get','https://example.com');
x.send();
如果仅用于测试,只需启动Chrome即可 --ignore-certificate-errors
标志以允许使用自签名证书。这会影响同一浏览会话中的所有网站,因此我建议通过附加为此目的使用单独的配置文件目录 --user-data-dir=/tmp/temporaryprofiledirectory
到命令行参数。
首先避免错误的另一种方法是获得有效的SSL证书。出于非商业目的,您可以获得 免费的SSL证书 在 https://www.startssl.com。