NodeJS请求处理程序

时间:2018-04-06 12:14:32

标签: node.js

我遇到了一些不支持Apple Application Review的IPv6请求的服务器问题。所以他们拒绝我的更新。

我正在考虑使用nodejs将请求处理程序作为中间服务器。

所以我的应用程序将在我的新服务器中发送请求,哪个服务器将请求发送到旧服务器,将响应json返回,并在我的应用程序中将其提供回来。

让我们说旧的网络服务器请求是以下

https://www.example.com/example/api/index.php?action=categories&subaction=getproducts&category_id=100304&limit=0,30

但是请求参数并不总是一样的! 它可能会有所不同,但主URL始终相同

https://www.example.com/example/api/index.php?

问题是如何动态获取请求参数,向旧网络服务器发出请求并将响应返回给新网络服务器的请求?

1 个答案:

答案 0 :(得分:2)

你只需要这样一个非常简单的代理;

const express = require('express')
const request = require('request')

const app = express()
const BASE_URL = 'http://www.google.com' // change accordingly

app.use('/', (req, res) => {
  request({ 
    url: BASE_URL + req.originalUrl 
  }).pipe(res)
})

app.listen(8900, () => console.log('Listening...'))

req.originalUrl将允许将路径+查询字符串连接到基本URL