美文网首页
Node Express 转发 GET 请求

Node Express 转发 GET 请求

作者: old_Tan | 来源:发表于2019-03-19 16:22 被阅读0次

转发GET 和 POST 请求到第三方的 API,实现方式如下:

const express = require('express');
const http = require('http');
const app = express();

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*') // 第二个参数表示允许跨域的域名,* 代表所有域名
  res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, OPTIONS') // 允许的 http 请求的方法
  // 允许前台获得的除 Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma 这几张基本响应头之外的响应头
  res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With')
  if (req.method == 'OPTIONS') {
      res.sendStatus(200)
  } else {
      next()
  }
})

//转发get请求
app.get('/api', (req, res) => {
  var path = req.originalUrl;
  http.get({
    hostname: 'www.google.com',
    path: path
  }, function (data) {
    var body = [];
    data.on('data', function (chunk) {
      body.push(chunk);
    });
    data.on('end', function () {
      body = Buffer.concat(body);
      res.send(body.toString())
    });
  });
});

app.listen(8082, () => console.log('开始监听8082端口!'));

相关文章

网友评论

      本文标题:Node Express 转发 GET 请求

      本文链接:https://www.haomeiwen.com/subject/vrhnmqtx.html