Который, насколько мне известно, передает файл HTML, найденный по ранее указанному пути.Но куда это передается?
Он передает содержимое файла с диска на сетевое подключение клиента, когда они запрашивают его (т. Е. Не при запуске сервера).
Каким-либо образом я могу указать имя пути на основе внешнего IP + пользователь + пароль и путь к файлу?
Не с express.static
.Если вы хотите, чтобы ваш сервер обслуживал внешнюю страницу (прокси), вы можете сделать это: https://stackoverflow.com/a/10435819/7011366. Поскольку у вас будет доступ к URL-адресу и файлам cookie, вы можете делать все, что угодно, с путем / user /пароль.
app.post('/my_url', function(req, res) {
var options = {
host: MY_DOMAIN,
path: '/' + req.query.username,
method: 'GET',
};
var req = http.request(options, function(res) {
// etc...
// send response to client
}).on('error', function(e) {
// handle error...
}).end();
});
В этом примере выше каждый раз делается запрос на внешнюю страницу.Если вы не хотите этого, вы можете хранить его в памяти и обновлять его только периодически.
let myHtml = "";
let fn = () => {
var options = {
host: MY_DOMAIN,
path: '/' + req.query.username,
method: 'GET',
};
var req = http.request(options, function(res) {
// etc...
// save response to myHtml as string
}).on('error', function(e) {
// handle error...
}).end();
};
setInterval(fn, 60000);
fn();
app.post('/my_url', function(req, res) {
res.end(myHtml);
});