geoip2-golang, 非官方 MaxMind GeoIP2阅读器

分享于 

3分钟阅读

GitHub

  繁體 雙語
Unofficial MaxMind GeoIP2 Reader for Go
  • 源代码名称:geoip2-golang
  • 源代码网址:http://www.github.com/oschwald/geoip2-golang
  • geoip2-golang源代码文档
  • geoip2-golang源代码下载
  • Git URL:
    git://www.github.com/oschwald/geoip2-golang.git
    Git Clone代码到本地:
    git clone http://www.github.com/oschwald/geoip2-golang
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/oschwald/geoip2-golang
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    GeoIP2阅读器

    Build StatusGoDoc

    这里库读取 MaxMind GeoLite2GeoIP2数据库。

    这个库是使用 maxminddb阅读器构建的。 数据库记录的所有数据都使用这里库进行解码。 如果只需要几个字段,那么可以通过直接使用maxminddb的Lookup 和只包含所需字段的结果结构来获得优越的性能。 ( 请参见存储库中的 example_test.go 插件以获得这个示例。

    安装

    
    go get github.com/oschwald/geoip2-golang
    
    
    
    

    用法

    有关文档和示例,请参阅 GoDoc

    示例

    package mainimport (
     "fmt""github.com/oschwald/geoip2-golang""log""net")funcmain() {
     db, err:= geoip2.Open("GeoIP2-City.mmdb")
     if err!= nil {
     log.Fatal(err)
     }
     defer db.Close()
     // If you are using strings that may be invalid, check that ip is not nilip:= net.ParseIP("81.2.69.142")
     record, err:= db.City(ip)
     if err!= nil {
     log.Fatal(err)
     }
     fmt.Printf("Portuguese (BR) city name: %vn", record.City.Names["pt-BR"])
     fmt.Printf("English subdivision name: %vn", record.Subdivisions[0].Names["en"])
     fmt.Printf("Russian country name: %vn", record.Country.Names["ru"])
     fmt.Printf("ISO country code: %vn", record.Country.IsoCode)
     fmt.Printf("Time zone: %vn", record.Location.TimeZone)
     fmt.Printf("Coordinates: %v, %vn", record.Location.Latitude, record.Location.Longitude)
     // Output:// Portuguese (BR) city name: Londres// English subdivision name: England// Russian country name: Великобритания// ISO country code: GB// Time zone: Europe/London// Coordinates: 51.5142, -0.0931}

    测试

    确保你签出了测试数据模块:

    
    git submodule init
    
    
    git submodule update
    
    
    
    

    执行测试套件:

     
    go test
    
    
    
     

    捐赠欢迎请 fork,并使用你的更改打开一个请求请求。

    许可证

    这是免费软件,在ISC许可下许可。


    GEO  Reader  UNO  最大  Geoip  Maxmind