使用本机 HTTPS 请求修补 Node.js 中的数据

Using native HTTPS request to patch data in Node.js

我正在为 Node.js 中的 https 请求分配任务。作业要求使用本机 https 模块来修补数据。还有,我们要更新的数据可以在js文件之后输入,比如node xxx.js "update something"。问题是在打补丁的时候,上传了更新,但没有更新旧数据。所以,它导致新旧数据共存。谢谢!

const https = require('https');

const args = process.argv;
const act = args[2];
const update = args[3]

const options = {
    hostname: 'reqres.in',
    port: 443,
    path: `/api/users/${act}`,
    method: 'PATCH',
    headers: {
      "Content-Type": 'application/x-www-form-urlencoded'
    }
}

const req = https.request(options.options_patch, res => {
    let data = '';
    console.log('Status: ', res.statusCode)
    console.log('Headers: ', JSON.stringify(res.headers))
    res.setEncoding('utf8');
    res.on('data', chunk => {
      data += chunk;
    });
    res.on('end', () => {
      console.log('Body: ', JSON.parse(data));
    })
  }).on('error', e => {
    console.error(e);
  })

  req.write(JSON.stringify(update));
  req.end();
}

const https = require('https');

const args = process.argv;
const act = args[2];
const update = args[3];

const options = {
    hostname: 'reqres.in',
    port: 443,
    path: `/api/users/${act}`,
    method: 'PATCH',
    headers: {
        "Content-Type": 'application/x-www-form-urlencoded'
    }
}

const req = https.request(options, res => {

    let data = '';

    console.log('Status: ', res.statusCode);
    console.log('Headers: ', JSON.stringify(res.headers));

    res.setEncoding('utf8');

    res.on('data', chunk => {
        data += chunk;
    });

    res.on('end', () => {
        console.log('Body: ', JSON.parse(data));
    });

}).on('error', e => {
    console.error(e);
});

req.write(update);
req.end();

node test.js path "data"

Status: 200 Headers: {"date":"Wed, 08 Jul 2020 12:59:16 GMT","content-type":"application/json; charset=utf-8","content-length":"50","connection":"close","set-cookie":["__cfduid=d76ab451f50acf77b2fe9da83cbff44521594213156; expires=Fri, 07-Aug-20 12:59:16 GMT; path=/; domain=.reqres.in; HttpOnly; SameSite=Lax; Secure"],"x-powered-by":"Express","access-control-allow-origin":"*","etag":"W/"32-PB4zlwTjg/gFA9Skv/cu8Rzo1N4"","via":"1.1 vegur","cf-cache-status":"DYNAMIC","cf-request-id":"03d01b5e6500000c1117955200000001","expect-ct":"max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"","server":"cloudflare","cf-ray":"5af9fb43d9af0c11-AMS"} Body: { data: '', updatedAt: '2020-07-08T12:59:16.501Z' }

仅供参考:这也可以用 curlwget 来完成。