Node.js、Express框架之获取客户端IP地址,并获取IP对应的城市名「简单好用,收藏不亏」
const express = require('express');
const axios = require('axios');
const app = express();
const PORT = 3000;
app.get('/', async (req, res) => {
const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
try {
const response = await axios.get(`http://ip-api.com/json/${ip}`);
if (response.data.status === 'success') {
const city = response.data.city;
res.send(`您的IP地址对应的城市是:${city}`);
} else {
res.send('无法获取您的城市信息。');
}
} catch (error) {
res.send('服务器错误,无法获取您的城市信息。');
}
});
app.listen(PORT, () => {
console.log(`服务器运行在 http://localhost:${PORT}`);
});
这段代码使用Express框架创建了一个简单的Web服务器,并且使用axios
库来发送HTTP GET请求到http://ip-api.com/
以获取客户端IP地址对应的城市信息。服务器监听在端口3000上,当访问根URL时,它会获取IP地址,然后尝试解析城市信息并将其返回给客户端。
评论已关闭