乐闻世界logo
搜索文章和话题

How to get the full URL in Express?

1个答案

1

To obtain the full URL of a request in Express, you can combine several properties of the request object (req). The following steps and examples demonstrate how to achieve this.

1. Using req.protocol

This property returns the protocol used in the request, typically 'http' or 'https'.

2. Using req.get('host')

This method retrieves the 'Host' field from the request headers, which includes the server's domain name and possibly the port number.

3. Using req.originalUrl

This property provides the path portion after routing, including the query string.

By combining these three parts, you can obtain the complete URL.

Example Code:

javascript
const express = require('express'); const app = express(); app.get('*', (req, res) => { const fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; res.send(`The full URL is: ${fullUrl}`); }); const PORT = 3000; app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); });

In this example, regardless of the requested path, the server returns the complete URL of the current request. For instance, if you access http://localhost:3000/products?id=123, the server will respond with:

shell
The full URL is: http://localhost:3000/products?id=123

This approach ensures accurate retrieval of the complete URL regardless of the deployment environment or URL structure.

2024年7月21日 20:19 回复

你的答案