以讯飞的提取关键字API为例: 控制台-讯飞开放平台 (xfyun.cn)

const https= require('https')
httpRequest(appkey: string, appid: string, txt: string) {
	// 基础数据准备
	let t = this.getSec().toString();//获取当前时间秒数
	let p = this.getTypeParam();//根据api文档得到Param
	let str = appkey + t + p;
	//Testlog('str:' + str);
	let c = this.MD5(str);//根据api计算MD5
	const POST_DATA = 'text=' + txt;
	// X-Appid  string  讯飞开放平台注册申请应用的应用ID(appid)    
	// X-CurTime    string  当前UTC时间戳 从1970年1月1日0点0 分0 秒开始到现在的秒数
	// X-Param  string  相关参数JSON串经Base64编码后的字符串,详见业务参数  
	// X-CheckSum   string  令牌,计算方法:MD5(APIKey + X-CurTime + X-Param),三个值拼接的 字符串,进行MD5哈希计算(32位小写)
	/*设置请求行和请求头*/
	const POST_OPTIONS = {
		host: "ltpapi.xfyun.cn",//注意只能包含域名,不能包含http协议或者路径(即'/v1/ke')
		path: "/v1/ke",
		method: 'POST',
		headers: {//请求头
			"Content-Type": "application/x-www-form-urlencoded",
			'charset': 'utf-8',
			'X-Appid': appid,
			'X-CurTime': t,
			'X-Param': p,
			'X-CheckSum': c
		}
	};
	// 接受返回的数据
	function requestOnResponse(incomingMessage) {
	//固定样式,最后data保存有响应体的数据,再格式化处理为_data
		let data = []
		incomingMessage.on('data', chunk => {
			data.push(...chunk)
		})
		incomingMessage.on('end', () => {
			let _date = JSON.parse(new TextDecoder().decode(new Uint8Array(data)))
			console.log('data: ', _date)
		})
	}
	// 超时 事件处理器
	function requestOnTimeout() {
		REQUEST.destroy()
	}
	// 错误  事件处理器
	function requestOnError(err) {
  	REQUEST.destroy()
		console.log('err: ', err)
	}
	// 创建 http 连接
	const REQUEST = https.request(POST_OPTIONS, requestOnResponse)
	// 添加事件监听
	REQUEST.on('error', requestOnError)
	REQUEST.on('timeout', requestOnTimeout)
	// 设置超时
	REQUEST.setTimeout(1000)
	// 通过连接发送数据
	REQUEST.write(POST_DATA, 'utf8')
	REQUEST.end()
}