node.js - 使用本机 HTTPS 请求修补 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"
状态:200 标题:{"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, 报告-uri="https://report-uri.cloudflare。com/cdn-cgi/beacon/expect-ct"","server":"cloudflare","cf-ray":"5af9fb43d9af0c11-AMS"} 正文:{数据:'',updatedAt:'2020-07-08T12 :59:16.501Z' }
仅供参考:这也可以用curl
or来完成wget
。
推荐阅读
- php - 如何组合 PHP 数组 2D 并使用运算符转换为数组 1D?
- marklogic - MarkLogic "search:suggest" 查找约束名称
- python-3.x - 在 python 中使用多处理进行能源市场模拟
- javascript - OpenCV.js - detectMultiScale“无法捕获此异常”
- php - 这个布尔参数如何在 laravel php 中工作?还有 has('completed') 是如何工作的
- azure - 在基于 NodeJS 的 Azure Web App(Linux) 上运行的默认 Web 服务器是哪个?
- mysql - .CSV 数据加载(MySQL 工作台)
- python - 按下键时如何打开tkinter窗口
- java - 我选择了哪个标签
- microsoft-graph-api - Outlook rest api 仅用于本地设置