Gem 做了一个通过 ip 查询地址的 gem

jaxihe · 2014年03月05日 · 最后由 torvaldsdb 回复于 2017年02月06日 · 4132 次阅读

简单做了一个通过 ip 查询地址的 gem,数据基于 17mon.com,同时支持命令行操作

地址: https://github.com/mycolorway/SeventeenMon

欢迎大家使用~

精度如何~

区域太大了。。。

国内支持到省,国外到国家

之前几个运维朋友反应低版本 ruby 会报 syntax error,发现方法使用了 hash 参数

现在已改为匿名参数 ( options = {} ),如果造成啥困扰抱歉拉

用 taobao 的接口挺方便的

require 'open-uri'

class Ip
  def self.find ip
    ''.tap do |s|
      url = "http://ip.taobao.com/service/getIpInfo.php?ip=#{ip}"
      d = JSON.parse(open(url).read)['data']
      #available key:country,area,region,city,isp
      s << d['country'] << ' ' << d['city'] << ' '  << d['isp'] 
    end
  end
end

查询 IP 地址信息

Ip.find '218.202.236.54'

 => "中国 上海市 移动" 

@martin 你说的没错,淘宝、新浪、百度的服务都不错

这个 gem 只是提供一个离线的查询,主要优点是没有请求次数、间隔限制,缺点是不太精确~

#5 楼 @martin 这个服务很不稳定,时快时慢!

#7 楼 @torvaldsdb 那你用高春辉的吧,http://www.ipip.net/api.html 还是挺不错的。有免费也有付费的。

#8 楼 @martin 最后我用百度的接口封装了一个。在使用中。你的这个我试一试。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号