cadb
Version:
安卓/鸿蒙系统截图/录屏工具
83 lines (72 loc) • 1.92 kB
JavaScript
// const http = require('http');
const https = require('https');
function doTextFetchHttps(address, ignoreErr) {
return new Promise((res, rej) => {
const requestClient = https.get(address, response => {
let result = '';
response.on('data', d => {
result += d.toString();
// const result = d.toString();
// console.warn('textFetch', d.toString());
// res(JSON.parse(result));
});
response.on('error', err => {
rej(err);
if (!ignoreErr) {
console.error(err);
}
});
response.on('end', () => {
res(JSON.parse(result));
});
});
requestClient.on('error', err => {
rej(err);
if (!ignoreErr) {
console.warn('request error', err);
}
});
requestClient.end();
});
}
function doTextPostFetchHttps(address, body = {}) {
return new Promise((resolve, reject) => {
// 要发送的数据
const postData = JSON.stringify(body);
const {hostname, pathname} = new URL(address);
// 配置请求选项
const options = {
hostname,
port: 443,
path: pathname,
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(postData),
},
};
// 发起POST请求
const req = https.request(options, res => {
let data = '';
// 监听数据流
res.on('data', chunk => {
data += chunk;
});
// 完成接收数据
res.on('end', () => {
// console.log('响应数据:', data);
resolve(data);
});
});
// 处理请求错误
req.on('error', err => {
console.error('请求错误:', err.message);
reject(err);
});
// 写入数据到请求体
req.write(postData);
// 结束请求
req.end();
});
}
module.exports = {doTextFetchHttps, doTextPostFetchHttps};