在Koa中使用`request`库发送HTTP请求并返回数据

548 阅读1分钟

在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库。