Project

sina_geoip

0.0
No commit activity in last 3 years
No release in over 3 years
Retreive the geolocation of an IP address based on the http://int.dpool.sina.com.cn/iplookup/iplookup.php webservice
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3
>= 0

Runtime

~> 1.4.6
~> 1.6.1
 Project Readme

SinaGeoip

Retreive the geolocation of an IP address based on the http://int.dpool.sina.com.cn/iplookup/iplookup.php webservice.

Installation

Add this line to your application's Gemfile:

gem 'sina_geoip'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sina_geoip

Usage

Retrieve geolocation

SinaGeoIp.geolocation(ip_address)

Example

# 12.130.132.30 = sina.com.cn (CN)
GeoIp.geolocation('12.130.132.30')

returns:

{ :ret => 1, :start => "202.108.24.0", :end => "202.108.58.255", :country => "中国", :province => "北京", :city => "北京", :district => "", :isp => "联通", :type => "", :desc => "" }

precision

There is an option to only retreive the country information and thus excluding the city details. This results in a faster response from the service since less queries need to be done.

precision country

GeoIp.geolocation('202.108.24.0', :precision => :country)

returns:

{ :country => "中国" }

precision province

GeoIp.geolocation('202.108.24.0', :precision => :province)

returns:

{ :country => "中国", :province => "北京" }

precision city

GeoIp.geolocation('202.108.24.0', :precision => :city)

returns:

{ :country => "中国", :province => "北京", :city => "北京"

}

Test

rspec spec/sina_geoip/sina_geoip_spec.rb

Contributors

Bugs

Please report them on the Github issue tracker for this project.

If you have a bug to report, please include the following information:

  • Version information for bierdopje, Rails and Ruby.
  • Stack trace and error message.

You may also fork this project on Github and create a pull request. Do not forget to include tests.

Copyright

Copyright (c) 2013 by pobing.