基于gear Go Web 框架和ipip.net IP 数据库实现的 IP 查询服务

网友投稿 974 2022-11-03

基于gear Go Web 框架和ipip- IP 数据库实现的 IP 查询服务

基于gear Go Web 框架和ipip- IP 数据库实现的 IP 查询服务

IP Service

基于 https://github.com/teambition/gear Go Web 框架和 http://ipip-/ IP 数据库实现的 IP 查询服务。

运行

从 docker 官方仓库抓取 image 运行

docker run --rm -p 8080:8080 zensh/ipservice

从源码运行

go get github.com/zensh/ipservicecd path_to_ipservicego run main.go --data ./data/17monipdb.dat

编译可执行文件并运行

# 编译成可运行的二进制文件:ipservicego build -o ipservice main.go# 未提供参数显示帮助信息./ipservice# 指定 IP 数据库./ipservice -data ./data/17monipdb.dat# 指定 IP 数据库并指定监听端口./ipservice -data ./data/17monipdb.dat -port 3000

Docker (15.01 MB)

make docker

Try it:

make runcurl 127.0.0.1:8080/json/8.8.8.8

API

GET /json/:ip

curl 127.0.0.1:8080/json/8.8.8.8# 返回 JSON 数据{"IP":"8.8.8.8","Status":200,"Message":"","Data":{"Country":"GOOGLE","Region":"GOOGLE","City":"N/A","Isp":"N/A"}}

GET /json/:ip?callback=xxx

# callback=xxxx 返回 JSONP 数据curl 127.0.0.1:8080/json/8.8.8.8?callback=readIP# 返回 JSONP 数据/**/ typeof readIP === "function" && readIP({"IP":"8.8.8.8","Status":200,"Message":"","Data":{"Country":"GOOGLE","Region":"GOOGLE","City":"N/A","Isp":"N/A"}});

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#yyds干货盘点# 解决名企真题:最大乘积
下一篇:The Battle of Chibi[树状数组+DP]
相关文章

 发表评论

暂时没有评论,来抢沙发吧~