在Koa中使用request库发送HTTP请求并返回数据的代码如下所示:
const Koa = require('koa');
const request = require('request');
const app = new Koa();
app.use(async (ctx) => {
const options = {
url: 'https://api.example.com/data', // 请求的URL
method: 'GET', // 请求方法
headers: {
'User-Agent': 'Koa Request', // 设置请求头
},
};
// 发送请求并返回数据
const response = await new Promise((resolve, reject) => {
request(options, (error, response, body) => {
if (error) {
reject(error);
} else {
resolve(body);
}
});
});
ctx.body = response; // 将请求返回的数据作为响应的主体
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
在上述代码中,我们首先引入了request库,然后创建一个Koa应用程序。在应用程序的中间件中,我们定义了一个请求选项对象options,包含了请求的URL、请求方法和请求头。接下来,我们使用await关键字创建一个Promise对象,通过request库发送请求,并在回调函数中处理请求的结果。最后,我们将请求返回的数据赋值给ctx.body,作为响应的主体。
请注意,上述代码仅供参考,并需要根据实际情况进行调整。同时,需要确保已经通过npm install request安装了request库。