omg
omg

Reputation: 140112

What is the most applicable solution to detect which country an ip belongs to?

Someone recommended cdn,

And is it accurate in judging where the IP address belong to?

How is it done?

Is there a better solution?

Upvotes: 1

Views: 3321

Answers (4)

Marcel Panse
Marcel Panse

Reputation: 642

You can do a GET request to this URL: https://api.teletext.io/api/v1/geo-ip and it will respond with some country information in JSON format.

If you want to implement it yourself: I've set this up by using AWS Cloudfront, Cloudfront adds a header (Cloudfront-Viewer-Country) to your request before it forwards it to the origin server that you can use. Make sure to whitelist the header in your Cloudfront distribution.

Upvotes: 0

Christian
Christian

Reputation: 26427

There no fixed rules that can tell you which IP belongs to which country. It depends on which company owns the IP range at a given time and therefore can change as the ownership changes. You therefore either need to keep up an up to date database about which company owns which IP range yourself or you rent access to such a database.

Upvotes: 1

Paul Tarjan
Paul Tarjan

Reputation: 50662

Try hitting the pidgets geoip service (it uses the maxmind database)

http://geoip.pidgets.com

Upvotes: 3

Matt Wrock
Matt Wrock

Reputation: 6640

Not sure what the link of a CDN and ip/geo lookup is. However, if you use a cdn to deliver content, they will provide reporting on where the users are coming from. See my blog post for more details on CDNs.

Regarding looking up a user's country from their IP. There are a couple ways to do this. It is fairly acurate. I'd certainly say it is accurate "enough." If you simply want to lookup the country of a few IPs. Go to a site like dnsstuff.com and they have online tools for doing that. If you want to programatically do this, use a service like Maxmind or digital envoy. Maxmind is the much cheaper option.

Upvotes: 0

Related Questions