【发布时间】:2017-05-27 17:33:53
【问题描述】:
如何使用 Express 或 HTTP 从另一台服务器访问网站内容
我有一个包含所有数据的网站,例如 模板 网站
我还有 3 个网站可以访问这个网站 模板 内容 HTML CSS 网站 2 3 和 4 内的所有内容 唯一不友好的是像
这样的路线mysite.com/template1/user1/index.html
mysite.com/template1/user2/index.html
mysite.com/template1/user3/index.html
我想在网站内部**(n)*只有从模板服务器获取 HTML CSS 和 js 内容的代码,我该怎么做?
在 PHP 中类似于
$url = $GET(www.masterserve.com/template1/ + user1 ) echo $url
我可以用 node.js 和 express 做同样的任何例子
// Get dependencies
const express = require('express');
const path = require('path');
const http = require('http');
const bodyParser = require('body-parser');
// Get our API routes
const api = require('./server/routes/api');
const app = express();
// Parsers for POST data
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Point static path to dist
app.use(express.static(path.join(__dirname, 'dist'))); <-- idont want static
file only a URL from the master server
// Set our api routes
app.use('/api', api);
// Catch all other routes and return the index file
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
/**
* Get port from environment and store in Express.
*/
const port = process.env.PORT || '3000';
app.set('port', port);
/**
* Create HTTP server.
*/
const server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port, () => console.log(`API running on localhost:${port}`));
【问题讨论】:
-
因为你显示你的服务器代码,我很困惑。您是否尝试从另一台服务器获取 HTTP 内容?换句话说,您想编写代码作为 HTTP 客户端从 HTTP 服务器获取内容吗?如果是这样,您希望它在您的代码中的什么位置?
-
我有 10 个网站具有相同的代码,唯一的区别是用户来自例如 www.mywebsite.com/user1,如果用户 1 是 iser1 数据的网站服务器
-
或者我有 10 个域名,banana.com , foo.com 这个域有相同的代码,唯一不同的是我想要的数据有 1 个域,比如 master.com,它在模板中和来自网站banana.com获取所有内容,如iframe src="masterwebsite/user32424"
-
在此示例中,我从 dist/index.html 获取数据我想从主服务器(如 www.masterserver/templatewebsite/user1)获取数据,并且我想从 masterserver 域获取内容- www.banana.com 内的服务器
-
喜欢 iframe 但我不想使用 iframe。
标签: node.js express middleware node-http-proxy