Steps to send a https request to a rest service in Node js

后端 未结 4 924
粉色の甜心
粉色の甜心 2020-12-13 09:24

What are the steps to send a https request in node js to a rest service? I have an api exposed like https://133-70-97-54-43.sample.com/feedSample/Query_Status_View/Query_Sta

4条回答
  •  攒了一身酷
    2020-12-13 10:12

    Note if you are using https.request do not directly use the body from res.on('data',... This will fail if you have a large data coming in chunks. So you need to concatenate all the data and then process the response in res.on('end'. Example -

      var options = {
        hostname: "www.google.com",
        port: 443,
        path: "/upload",
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Content-Length': Buffer.byteLength(post_data)
        }
      };
    
      //change to http for local testing
      var req = https.request(options, function (res) {
        res.setEncoding('utf8');
    
        var body = '';
    
        res.on('data', function (chunk) {
          body = body + chunk;
        });
    
        res.on('end',function(){
          console.log("Body :" + body);
          if (res.statusCode != 200) {
            callback("Api call failed with response code " + res.statusCode);
          } else {
            callback(null);
          }
        });
    
      });
    
      req.on('error', function (e) {
        console.log("Error : " + e.message);
        callback(e);
      });
    
      // write data to request body
      req.write(post_data);
      req.end();
    

提交回复
热议问题