使用本机 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' }
仅供参考:这也可以用 curl
或 wget
来完成。
我正在为 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' }
仅供参考:这也可以用 curl
或 wget
来完成。