【问题标题】:NodeJS HTTPS request to Intersango.com对 Intersango.com 的 NodeJS HTTPS 请求
【发布时间】:2013-02-07 21:00:12
【问题描述】:

我提出的请求有问题,我无法弄清楚。根据API spec,似乎一切都井井有条。

代码如下:

var request = require('https').request;

var opts = {
  host: 'intersango.com',
  method: 'GET',
  path: '/api/ticker.php',
  port: 443,
  accept: '*/*',
  headers: { 'User-Agent': 'Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0' } };

var req = request(opts, function (result) {
        result.setEncoding('utf8');
        var buffer = '';
        result.on('data', function(data) {
            buffer += data;
        });
        result.on('end', function() {
            console.log('<- Received ' + buffer.length + ' bytes');
            var data = JSON.parse(buffer);
            console.log(data);
        });
    });

req.on('error', function(e) {
        console.log('warning: problem with request: ' + e.message);
    });

console.log('-> ' + opts['method'] + ' ' + opts['host'] + ':' + opts['port'] + opts['path']);

req.end();

这是输出:

$> node test.intersango.js
-> GET intersango.com:443/api/ticker.php
warning: problem with request: socket hang up

有趣的是,如果你在浏览器中转到 https://intersango.com/api/ticker.php 就可以了,但如果你只是转到 intersango.com:443/api/ticker.php,那就不行了。我尝试了一些other ports,但它只给出了warning: problem with request: connect ECONNREFUSED

注意:尝试 POST 也无济于事

【问题讨论】:

  • 代码对我来说很好用。也许这是 intersango 方面的临时问题。您使用的是哪个版本的节点?
  • 我正在使用v0.9.7,对其他服务的请求工作正常。另外,我从 Amazons EC2 发出这个。
  • 好吧,这几乎意味着它是由 EC2 造成的……我现在就去重启我的实例……
  • 或尝试不同的节点版本,因为0.9.x 是不稳定的分支
  • 我在 EC2 上获得了不同的主机名,现在服务器返回 UNABLE_TO_VERIFY_LEAF_SIGNATURE D:我明天将尝试降级我的节点。

标签: javascript api node.js https bitcoin


【解决方案1】:

确认一下,降级 Node 确实解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 2019-05-28
    • 2017-08-02
    相关资源
    最近更新 更多