如何在nodejs中处理核心https中的代理错误



所以我使用核心https向website执行Get请求,我使用以下代码使用代理来执行此操作:

const { HttpsProxyAgent } = require("https-proxy-agent");
const proxy = new HttpsProxyAgent(`http://user:pass@host:port`); 
https.get("https://www.google.com/",
{ agent: proxy },
(res) => {
var body = "";
res.on("data", function (chunk) {
body += chunk;
// console.log(body)
});
res.on("end", function () {
}
);

})

因此,有时代理会无效或过期,甚至使用本地主机使用fiddler或Charles 进行调试

const { HttpsProxyAgent } = require("https-proxy-agent");
const proxy = new HttpsProxyAgent(`http://127.0.0.1:8888`); // For Debugging
https.get("https://www.google.com/",
{ agent: proxy },
(res) => {
var body = "";
res.on("data", function (chunk) {
body += chunk;
// console.log(body)
});
res.on("end", function () {
}
);

})

如果我忘记打开代理调试器,也会导致错误。

我试过这样做:

res.on("error" , function(e){
console.log("an error have been occurred  ")
})

但似乎什么都不起作用

所以我找到了答案,它会像这个一样完成

https.get(
"https://www.google.com/",
{ agent: proxy },
(res) => {
var body = "";
res.on("data", function (chunk) {
body += chunk;
});
res.on("end", function () {
// console.log(body)
})
.on('error', function (e) {
console.error("error");
}).end();

最新更新