当前位置: 首页 > Web前端 > HTML

使用http-proxy代理SAPUI5请求重定向

时间:2023-03-29 13:01:01 HTML

http-proxy是一个很好用的代理工具库,用于代理和重定向HTTP请求。创建代理服务器的方法:varhttpProxy=require('http-proxy');varproxy=httpProxy.createProxyServer(options);options为代理服务器创建参数。一些例子:创建一个代理服务器,监听8000端口,收到请求后转发给9000端口的服务器。varhttp=require('http'),httpProxy=require('http-proxy');////创建代理服务器并在选项中设置目标。//httpProxy.createProxyServer({target:'http://localhost:9000'}).listen(8000);//看到(?)端口9000上的服务器,简单地发送请求代理成功消息。////创建你的目标服务器//http.createServer(function(req,res){res.writeHead(200,{'Content-Type':'text/plain'});res.write('请求成功代理!'+'\n'+JSON.stringify(req.headers,true,2));res.end();}).listen(9000);看一个具体的例子。在一个SAPUI5应用的manifest.json文件中,我定义了一个名为invoiceRemote的dataSources,uri为:http://localhost:8082/https:/...这样,SAPUI5应用就会发送一个url,到localhost8082请求元数据。因此,我需要有自己的服务器,监听8082端口:varhttp=require('http'),httpProxy=require('http-proxy');////创建你的代理服务器并在options.//httpProxy.createProxyServer({target:'http://localhost:9000'}).listen(8082);并通过target的server构造函数参数:'http://localhost:9000',指定当监听8082端口的服务器收到HTTP请求后,会自动转发给监听9000端口的服务器。监听的服务器端口9000收到请求后简单地发送请求成功代理响应:http.createServer(function(req,res){res.writeHead(200,{'Content-Type':'text/plain'});res.write('请求成功代理!'+'\n'+JSON.stringify(req.headers,true,2));res.end();}).listen(9000);测试:在浏览器中输入如下url:http://localhost:8082/https:/...该请求依次经历了如下处理逻辑:请求成功被代理服务器8082拦截;该请求由代理服务器8082转发给服务器9000;请求在服务器9000上进行处理,并将请求详细信息序列化为JSON字符串,作为输出发送到HTTP请求的响应结构。更多Jerry原创文章在这里:《王子熙》: