我提出的请求有问题,我无法弄清楚。根据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但它只是给出警告:请求问题:连接ECONNREFUSED
注意:尝试 POST 也无济于事
最佳答案
只是为了确认,降级 Node 确实解决了问题。
关于javascript - NodeJS 对 Intersango.com 的 HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14760879/