我有两个服务器(在两个不同的端口上运行),一个用于聊天应用程序,另一个用于API生成服务器(用户应该通过提供公司注册) 细节,我的算法为用户提供了一个API密钥。
问题是,我正在检查用户提供的有效API密钥,如果API密钥为true,那么它应该重定向到聊天服务器(端口号5200)。
但它不起作用,请提出解决此问题的任何想法。
这是我的代码,
`
app.post('/checkAPIkey',function(req,res){
var apikey=req.query.apikey;
var apikey1=uuidAPIkey.isAPIKey(apikey);
if(apikey1){
res.writeHead(302, {
Location: 'http://localhost:5200'
});
}else{
res.end("error");
}
});`
答案 0 :(得分:-1)
您需要的是“请求转发”。
示例:强>
const http = require('http');
app.post('/checkAPIkey', function(req,res){
var apikey=req.query.apikey;
var apikey1 = uuidAPIkey.isAPIKey(apikey);
if(apikey1){
const options = {
port: NEW_PORT,
hostname: 'NEW_HOST',
method: 'POST',
path: '/'
};
var reqForward = http.request(options, (newResponse) => {
//Do something with your newResponse
var responseData = "";
newResponse.on('data', (chunk) => {
//Add data response from newResponse
responseData += chunk;
});
newResponse.on('end', () => {
//Nothing more, send it with your original Response
response.send(responseData);
});
});
// If ERROR
reqForward.on('error', (e) => {
console.error('Error: ' + e);
});
// Write to the request
reqForward.write(YOUR_POST_DATA);
reqForward.end();
} else {
res.end("error");
}
});