nodejs http request呼叫rpc介面
阿新 • • 發佈:2019-02-05
var data = {"jsonrpc": "2.0", "id": 0, "method": method, "params": params}; data = JSON.stringify(data); var opt = { host: ip, port: port, method: 'POST', path:'/rpc', headers:{ "Content-Type": 'application/json', "Accept": 'application/json', "Content-Length": data.length } } var request = http.request(opt, function(result) { var rpcResult = ''; var datas = ''; result.on('data',function(data) { try { datas += data; // 注意:返回json資料量大時,會擷取分批返回 } catch(e) { console.log(e); } }).on('end', function(){ rpcResult = JSON.parse(datas).result; resolve(rpcResult); }); }).on('error', function(e) { console.log("error: " + e.message); reject(e); }); request.write(data); request.end();
注意的坑,返回json資料量大,會擷取分批返回,所以在回撥裡定義了一個string執行++, 這個一定要注意