如何从节点 js(express) 服务器获取用户地理位置?
How do I get user geo location from a node js(express) server?
我需要构建一个项目来获取用户的国家或位置。对于前端用户,需要授予权限,这对于 API 调用来说可能很麻烦。
有没有办法从 node.js(express) 服务器中的 IP 地址获取用户的 大概位置 ?
一个解决方案可能是使用 return 给定 IP 的地理信息的 API。
示例可以是使用 ip-api
的示例
const fetch = require('node-fetch')
const express = require('express')
const app = express()
const port = 3000
app.post('/location_specific_service', async (req, res) => {
var fetch_res = await fetch(`https://ipapi.co/${req.ip}/json/`);
var fetch_data = await res.json()
res.send(`You are from ${fetch_data.region}`)
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
我需要构建一个项目来获取用户的国家或位置。对于前端用户,需要授予权限,这对于 API 调用来说可能很麻烦。 有没有办法从 node.js(express) 服务器中的 IP 地址获取用户的 大概位置 ?
一个解决方案可能是使用 return 给定 IP 的地理信息的 API。
示例可以是使用 ip-api
const fetch = require('node-fetch')
const express = require('express')
const app = express()
const port = 3000
app.post('/location_specific_service', async (req, res) => {
var fetch_res = await fetch(`https://ipapi.co/${req.ip}/json/`);
var fetch_data = await res.json()
res.send(`You are from ${fetch_data.region}`)
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})