如果您希望获得国家代码而不征求任何许可,则可以选择一种棘手的方法。
该方法仅使用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"
}
感谢和感谢,进入“中型”文章:具有Google Cloud Functions的基于IP的免费地理定位