首页 > 解决方案 > 代理和节点休息客户端错误:'events.js:183 throw er;'

问题描述

我有两个问题,但最重要的是:为什么下面的代码什么时候什么都没有tunnel: true显示,当变成假时显示一个错误......但从来没有任何数据?

编码 :

let Client = require('node-rest-client').Client;
let options_proxy = {
    proxy: {
        host: "172.16.0.1",
        port: 3128,
        tunnel: false
    }
};

let connexion = new Client(options_proxy);

connexion.registerMethod("jsonMethod", "https://www.prevision-meteo.ch/services/json/seyssinet-pariset", "GET");
connexion.methods.jsonMethod(function (data, response) {
    // parsed response body as json object
    console.log(data);
    console.log('=====================================');
    console.log(`actuellement à ${data.city_info.name} il fait ${data.current_condition.condition}.`);
    // raw response
    console.log(response);
});

错误 :

node index.js
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: socket hang up
    at TLSSocket.onHangUp (_tls_wrap.js:1137:19)

更多信息: 在直接访问的网络上,它可以工作(向我显示一个城市和一个相关的天气)。在具有代理访问权限的网络上,代理工作(用 Chrome 和 FF 和 Telnet 测试)但程序出错。

知道如何更深入地检查吗?也许是 http 休息服务器而不是 https ?

我的第二个问题是:我使用 CTRL+K 来显示我的代码,是否正确(有些人说他们必须在我的帖子中更正这个)?我希望更容易回答;)谢谢

标签: node.jsproxynode-rest-client

解决方案


似乎我们遇到了 HTTPS 问题,解决方法是将 URL 从 HTTPS 更改为 HTTP。

connexion.registerMethod("jsonMethod", "https://www.prevision-meteo.ch/services/json/seyssinet-pariset", "GET");

但是,它仍然是一个问题,我无法更深入地诊断它。也许是一个错误或代理 mysconfiguration。


推荐阅读