📜  express 获取主机 url - Javascript (1)

📅  最后修改于: 2023-12-03 15:14:57.332000             🧑  作者: Mango

Express 获取主机 URL

在开发 Web 应用程序时,获取主机 URL 是非常有用的,可以用来构建动态的链接或者进行一些 API 请求。本文将介绍使用 Express 框架来获取主机 URL 的几种方法。

1. req.protocol + req.get('host')

可以使用 req.protocol 获取请求协议,通过 req.get('host') 方法获取主机名和端口号,最后拼接起来即可得到主机 URL。

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  const hostUrl = `${req.protocol}://${req.get('host')}`;
  res.send(`Host URL: ${hostUrl}`);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000...');
});
2. req.hostname

使用 req.hostname 可以直接获取主机名,不需要再获取协议和端口号,但需要注意的是,该方法只返回主机名,不包括端口号。

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  const hostUrl = `http://${req.hostname}`;
  res.send(`Host URL: ${hostUrl}`);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000...');
});
3. 使用配置文件

除了在代码中获取主机 URL 外,还可以通过在配置文件中定义主机地址和端口号来获得主机 URL,比如:

{
  "host": "localhost",
  "port": 3000
}

然后在代码中导入配置文件,并拼接主机 URL。

const config = require('./config.json');
const hostUrl = `http://${config.host}:${config.port}`;

总之,获取主机 URL 是非常实用的功能,可以方便的构建动态的链接或者进行一些 API 请求。以上是几种常用的方法,希望能够帮助到大家。