我目前正在开发一个发出 HTTPS GET 请求的 Visual Studio Code 扩展,并且我试图忽略无效的证书,例如过期的证书。
这是一个非常简单的打字稿脚本,可以运行:
import * as https from "https";
import axios from "axios";
try {
const test = async () => {
await axios.get(
'https://expired.badssl.com/',
{
httpsAgent: new https.Agent({
rejectUnauthorized: false
})
}
);
};
test();
} catch (e) {
console.log(e);
}
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,当我编译文件并运行它时,它不会返回任何内容,如果我更改rejectUnauthorized为true,它会记录过期的证书错误。
但是,当我创建一个简单的打字稿扩展(如https://code.visualstudio.com/api/get-started/your-first-extension中所述)并yo code发出类似的 axios 请求时,它会给出证书已过期错误,无论给定的参数rejectUnauthorized
与上面使用yo code模板制作的类似的打字稿代码:
import * as vscode from 'vscode';
import * as https from "https"; …Run Code Online (Sandbox Code Playgroud) ssl-certificate typescript visual-studio-code vscode-extensions axios