geo_ip.js 不工作

Hit*_*esh 3 javascript geoip

我正在使用"http://j.maxmind.com/app/geoip.js"多语言站点支持,但此链接抛出 404 错误。

这是错误

Failed to load resource: the server responded with a status of 404 (Not Found)
www.globalenglish.com/:913 Uncaught ReferenceError: geoip_country_code is not defined
chrome-extension://gllmlkidgbagkcikijiljllpdloelocn/contentscript.js:1849 www.globalenglish.com
getuid:1 GET https://api.bizographics.com/v2/getuid?api_key=422935bcbfc445d59f10758c288c…I%252bJLufjW0EE6tV4BHMF43u8yA9qpnPTK8G7tGxJuiy5ReJz%252fscH55wHNbnsJU%253d 403 (Forbidden)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我在这里查看了新链接的站点此链接引发 401 错误。

我还在这里检查了新的 API但这对我也不起作用。JS 链接有效,但geoip_country_code() is undefined

在此处输入图片说明

如何让它再次工作!!!!这是小提琴

谢谢

Süh*_*kçu 5

不幸的是,Maxmind 没有提供 geoip api 通过

http://j.maxmind.com/app/geoip.js
Run Code Online (Sandbox Code Playgroud)

了。虽然它提供了另一个 api 作为

http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js
Run Code Online (Sandbox Code Playgroud)

但是,根据 Maxmind 的网站,它需要域注册等。下面的链接是旧 api 的克隆,现在有效期大约一年。

http://geoapi123.appspot.com/
Run Code Online (Sandbox Code Playgroud)

我刚刚在开发阶段的一个项目中使用了它,以获得非常快速的解决方案。但我强烈建议您再次根据值得信赖的服务更新您的代码。

一个有效的 jsfiddle 来展示这里的事情如何发挥作用;它显示了这段代码:

$.ajax( {
            type: 'GET',
            url: '//geoapi123.appspot.com/',
            dataType: 'script',
            cache: true,
            success: function() {
                var geo = geoip_country_code() + '|' + geoip_region_name() + '|' + geoip_city() + '|' + geoip_latitude() + '|' + geoip_longitude();
                $('#results').html(geo);
            }
        });
Run Code Online (Sandbox Code Playgroud)

更新: 我意识到这个答案仍然很有吸引力。请注意,我已经写了很多年了。我共享的 URL 似乎不再有效。现在也有更好的方法来处理这个问题。