我使用 node-curl 作为 HTTPS 客户端来向网络上的资源发出请求,并且代码在面向 Internet 的代理后面的机器上运行。
我用来合作的代码:
var curl = require('node-curl');
//Call the curl function. Make a curl call to the url in the first argument.
//Make a mental note that the callback to be invoked when the call is complete
//the 2nd argument. Then go ahead.
curl('https://encrypted.google.com/', {}, function(err) {
//I have no idea about the difference between console.info and console.log.
console.info(this.body);
});
//This will get printed immediately.
console.log('Got here');
node-curl 从环境中检测代理设置并返回预期结果。
挑战是:在整个 https-response 下载完成后回调会被触发,据我所知,来自 http(s) 模块的'data' 和 'end' 事件没有相似之处。
再看源码,发现node-curl库确实是分块接收数据的:参考https://github.com/jiangmiao/node-curl/blob/master/lib/CurlBuilder中的第58行。 js。在这种情况下,目前似乎没有发出任何事件。
我需要将可能相当大的响应转发回我 LAN 上的另一台计算机进行处理,所以这对我来说是一个明显的问题。
是否建议在节点中为此目的使用 node-curl?
如果是,我该如何处理?
如果不是,那么什么是合适的替代方案?