如果您想在不征得任何许可的情况下获得国家代码,您可以选择一种棘手的方式。
该方法简单地使用 API 来获取国家代码,并且没有任何第三方库可以依赖。我们可以为我们创造一个。
在这里,我使用Google Cloud Functions编写了一个 API,而且非常轻松。
第 1 步:创建一个 Google Cloud 帐户,并设置结算(免费套餐就足够了)
第 2 步:创建云函数以获取地理位置
将此基本功能复制到index.js的代码编辑器中:
const cors = require('cors')
function _geolocation(req, res) {
const data = {
country_code: req.headers["x-appengine-country"],
region: req.headers["x-appengine-region"],
city: req.headers["x-appengine-city"],
cityLatLong: req.headers["x-appengine-citylatlong"],
userIP: req.headers["x-appengine-user-ip"]
}
res.json(data)
};
exports.geolocation = (req, res) => {
const corsHandler = cors({ origin: true })
return corsHandler(req, res, function() {
return _geolocation(req, res);
});
};
我们还需要复制package.json定义:
{
"name": "gfc-geolocation",
"version": "0.0.1",
"dependencies": {
"cors": "^2.8.4"
}
}
第 3 步:完成,并获取类似于以下内容的 URL:"https://us-central1-geolocation-mods-sdde.cloudfunctions.net/geolocation"
第 4 步:解析 JSON 响应并获取国家代码
响应将如下所示:
{
"country": "IN",
"region": "kl",
"city": "kochi",
"cityLatLong": "9.9312,76.2673",
"userIP": "xx.xx.xx.xx"
}
感谢和感谢转至Medium文章:使用 Google Cloud Functions 的基于 IP 的免费地理定位