我已经尝试过文档中的示例,效果很好。
但是当我将 URL 更改为 时https://api.mercadolibre.com/sites/
,请求会挂起。我唯一得到的是:
{ [Error: socket hang up] code: 'ECONNRESET' }
这是我的代码:
var https = require('https');
this.dispatch = function(req, res) {
var renderHtml = function(content) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(content, 'utf-8');
}
var parts = req.url.split('/');
var options = {
host: 'api.mercadolibre.com',
port: 443,
path: '/sites/',
method: 'GET'
};
var request = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
request.on('error', function(e) {
console.error('error');
console.error(e);
});
request.end();
return 'item id:' + parts[2];
};
我尝试过使用 curl、soapui 和浏览器。在所有情况下都很好用,但使用 node.js 就不行了。
我怎样才能获得更多关于正在发生的事情的数据?
添加
我使用 curl: curl --sslv3 https://api.mercadolibre.com/sites/有效。我在centos 6中测试过同样的东西并且也可以工作。我已经从源头重新安装了节点,同样的问题。我的操作系统是 ubuntu 12.04。谢谢。