最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用cookie进行Express代理API调用

运维笔记admin10浏览0评论

使用cookie进行Express代理API调用

使用cookie进行Express代理API调用

我正在使用express我已经为我的应用程序模拟了API调用。

是否有任何代理可用于将我的调用重定向到我的开发服务器?

下面是我的示例快递代码

var express = require('express');
var app = express();
var path = require('path');
var cors = require('cors');


app.use(express.static(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'dist'))); 

app.get('/brand', function(req,res){
    res.send({"brand":"Cadillac","origin":"USA"});
});

当我在本地运行我的应用程序时,我的代码“http://localhost:3000/brand”中的API应该重定向到“”

在重定向之前,我还需要设置一个cookie,因为API只有在有效的cookie时才会提供数据。

我可以使用任何代理吗?你能提供任何例子吗?

回答如下:

如果我理解你的话,那么你的要求清单如下:

  1. express简单集成。
  2. 代理只有一个端点。
  3. 仅在本地环境中代理。
  4. 能够为代理请求设置cookie。

代码示例:

var express = require('express');
var app = express();
var path = require('path');
var proxy = require('express-http-proxy');

app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'dist')));

if (process.env.NODE_ENV === 'production') {
  app.get('/brand', function(req,res){
    res.send({"brand":"Cadillac","origin":"USA"});
  });
} else {
  app.use('/brand', proxy('http://www-dev.abc/brand', {
    proxyReqOptDecorator: function(proxyReqOpts, srcReq) {
      proxyReqOpts.headers['cookie'] = 'cookie-string';
      return proxyReqOpts;
    }
  }));
}

app.listen(8000);

评论:

  • 为了检查环境类型,我使用了建筑process.env.NODE_ENV === 'production'
  • 满足您要求的最佳软件包是express-http-proxy,但是如果您需要代理多个端点,那将是非常痛苦的。在这种情况下检查http-proxy。
发布评论

评论列表(0)

  1. 暂无评论