代理和节点休息客户端错误:“ events.js:183 throw er;”

时间:2018-09-17 16:13:12

标签: node.js proxy node-rest-client

我有两个问题,但最重要的是: 为什么下面的代码在tunnel: true时什么都没显示,而在设置为false时却显示错误,但是没有任何数据?

代码:

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来显示我的代码,这是正确的吗(有些人说他们必须在我的帖子中对此进行更正)?我希望更容易回答;) 谢谢

1 个答案:

答案 0 :(得分:0)

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

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

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