Can anybody recommend a means to determine the country that an incoming user request is originating from?
I’m guessing that you would first get the IP from the HTTP header and then somehow translate this? Is there a service that can be used for this? Is there a set of rules that one can use to implement within your rails application? Any advice welcome, even if the best possible is only a 95% accuracy thing.
PS Meant to ask too whether a rails plugin exists for this, and whether this can be done for free (i.e. without having to pay to subscribe to a service).
$ ls -l /usr/share/GeoIP/GeoIP.dat
-rwxr-xr-x 1 root wheel 682474 Jan 13 09:17
/usr/share/GeoIP/GeoIP.dat
$ cat a.rb
require 'geoip'
p GeoIP.new('/usr/share/GeoIP/GeoIP.dat').country("www.netscape.sk")
$ RUBYOPT=rubygems ruby a.rb
/usr/lib/ruby/gems/1.8/gems/geoip-0.3.0/lib/geoip.rb:273:in
`getaddress': getaddrinfo: No address associated with nodename
(SocketError)
from
/usr/lib/ruby/gems/1.8/gems/geoip-0.3.0/lib/geoip.rb:273:in `country'
from a.rb:2