首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Chrome / Firefox上启用geoIP?像ipinfo这样的服务在Chrome和Firefox上被屏蔽了,但在Brave上可以工作

如何在Chrome / Firefox上启用geoIP?像ipinfo这样的服务在Chrome和Firefox上被屏蔽了,但在Brave上可以工作
EN

Stack Overflow用户
提问于 2021-10-26 15:42:07
回答 1查看 47关注 0票数 0

在页面加载时,我尝试使用ipinfo这样的服务来获取基于访问者IP的坐标:

代码语言:javascript
复制
const request = await fetch("https://ipinfo.io/json?token=TOKEN", {
    method: 'GET',
    "Access-Control-Allow-Origin": "*",
    "Content-Type": "application/json",
    "charset": "utf-8"
});

这在Brave中如预期的那样工作。在Chrome中,请求是“被客户端阻止的”。在Firefox中,请求会因为CORS而失败。

添加cors-anywhere url也是不可行的,因为它返回cors-anywhere url服务的位置坐标(而不是访问者)。

如何让geoIP在Chrome和火狐上工作?在请求来自localhost的开发环境中,是否有更适合此- especially的服务

EN

回答 1

Stack Overflow用户

发布于 2021-10-26 16:29:21

我解决了这个问题,首先获取访问者的IP,使用api.ipify.org (前面有cors-anywhere url ),然后将ip地址插入到获取ip信息的fetch查询中。代码如下:

代码语言:javascript
复制
const ip = await fetch("https://[CORS-ANYWHERE-URL]/https://api.ipify.org?format=json&callback=getIP");

const ip_json = await ip.json();
console.log(ip_json);

const request = await fetch(`https://[CORS-ANYWHERE-URL]/ipinfo.io/${ip_json["ip"]}/geo?token=TOKEN`, {
    method: 'GET',
    "Access-Control-Allow-Origin": "",
    "Content-Type": "application/json",
    "charset": "utf-8"
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69726121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档