【问题标题】:how to handle proxy error in core-https in node js如何处理节点js中core-https中的代理错误
【发布时间】:2021-06-03 12:45:02
【问题描述】:

所以我使用 core-https 向 webstie 发出 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  ")
          })

但似乎没有任何效果

【问题讨论】:

    标签: javascript node.js request http-proxy


    【解决方案1】:

    所以我找到了答案,它会这样做

    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();
    

    【讨论】:

    • 我认为您在空行中缺少另一个})
    猜你喜欢
    • 2018-07-26
    • 2021-11-15
    • 1970-01-01
    • 2022-12-10
    • 2019-10-27
    • 2016-06-12
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多