golang IP地址归属地查询(walk界面库)
来源:互联网 发布:淘宝金酷娃玩具消防车 编辑:程序博客网 时间:2024/05/16 08:03
package mainimport ("encoding/json""fmt""io/ioutil""log""net""net/http")import ("github.com/lxn/walk". "github.com/lxn/walk/declarative")type MyWindow struct {*walk.MainWindowip *walk.LineEditcountry *walk.LineEditarea *walk.LineEditregion *walk.LineEditcity *walk.LineEditisp *walk.LineEditquery *walk.PushButton}type IPInfo struct {Code int `json:"code"`Data IP `json:"data`}type IP struct {Country string `json:"country"`Area string `json:"area"`Region string `json:"region"`City string `json:"city"`Isp string `json:"isp"`}func main() {mw := new(MyWindow)if err := (MainWindow{AssignTo: &mw.MainWindow,Title: "IP查询",MinSize: Size{350, 300},Layout: VBox{},Children: []Widget{Composite{MaxSize: Size{0, 50},Layout: HBox{},Children: []Widget{Label{Text: "IP: "},LineEdit{AssignTo: &mw.ip},PushButton{AssignTo: &mw.query,Text: "查询",},},},Composite{MinSize: Size{0, 100},Layout: HBox{},Children: []Widget{GroupBox{Title: "查询结果",Layout: Grid{Columns: 2},Children: []Widget{Label{Text: "国家"},LineEdit{AssignTo: &mw.country, ReadOnly: true},Label{Text: "地区"},LineEdit{AssignTo: &mw.area, ReadOnly: true},Label{Text: "省"},LineEdit{AssignTo: &mw.region, ReadOnly: true},Label{Text: "市"},LineEdit{AssignTo: &mw.city, ReadOnly: true},Label{Text: "运营商"},LineEdit{AssignTo: &mw.isp, ReadOnly: true},},},},},},}).Create(); err != nil {log.Fatalln(err)}mw.query.Clicked().Attach(func() {go func() {mw.query.SetText("查询中...")mw.query.SetEnabled(false)mw.GetIpInfo()mw.query.SetText("查询")mw.query.SetEnabled(true)}()})mw.Run()}func (mw *MyWindow) GetIpInfo() {mw.clearInfo()ip := net.ParseIP(mw.ip.Text())if ip == nil {walk.MsgBox(mw, "查询地址", "您输入的不是有效的IP地址,请重新输入!", walk.MsgBoxIconWarning)return}ipResult := tabaoAPI(ip.String())mw.country.SetText(ipResult.Data.Country)mw.area.SetText(ipResult.Data.Area)mw.region.SetText(ipResult.Data.Region)mw.city.SetText(ipResult.Data.City)mw.isp.SetText(ipResult.Data.Isp)walk.MsgBox(mw, "查询地址", "查询结束!", walk.MsgBoxIconInformation)}func (mw *MyWindow) clearInfo() {mw.country.SetText("")mw.area.SetText("")mw.region.SetText("")mw.city.SetText("")mw.isp.SetText("")}func tabaoAPI(ip string) *IPInfo {resp, err := http.Get(fmt.Sprintf("http://ip.taobao.com/service/getIpInfo.php?ip=%s", ip))if err != nil {return nil}defer resp.Body.Close()out, err := ioutil.ReadAll(resp.Body)if err != nil {return nil}var result IPInfoif err := json.Unmarshal(out, &result); err != nil {return nil}return &result}
0 0
- golang IP地址归属地查询(walk界面库)
- IP地址归属地查询。
- [转载]手机号码IP地址归属地查询
- IP地址归属地查询接口
- Java联网查询IP地址归属地
- js查询ip地址归属地
- ip查询归属地
- IP归属地查询
- ip地址查询和手机归属地查询
- Linux,IP归属地查询(nali)
- 通过纯真IP库,查询出IP地址的归属地
- java ip地址 身份证 电话归属地 查询
- 查询IP地址归属地shell 小脚本
- 几个常用的IP地址归属地查询接口
- 几个常用的IP地址归属地查询接口
- 通过百度查询的ip地址归属地的链接
- PHP IP地址归属地查询的接口
- Android小程序--电话归属地IP地址查询
- 基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用。
- 选择性模糊及其算法的实现。
- 简单探讨可牛影像软件中具有肤质保留功能的磨皮算法及其实现细节。
- 图像纹理合成及纹理传输算法学习(附源码)。
- 优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码)。
- golang IP地址归属地查询(walk界面库)
- 解析opencv中Box Filter的实现并提出进一步加速的方案(源码共享)。
- Python 的应用
- O(1)效率的表面模糊算法优化。
- 标准的基于欧式距离的模板匹配算法优源码化和实现(附源代码)。
- 图像增强系列之图像自动去暗角算法。
- 几种常见的排序和遍历
- [置顶]Crimm Imageshop 2.3。
- IREP: 测试Integration Repository客户化Web服务的调用