.net|.net core 和 WPF 开发升讯威在线客服系统(使用本地IP数据库实现访客来源快速定位,支持国外)

本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。
免费使用 & 私有化部署:https://kf.shengxunwei.com
视频实拍:演示升讯威在线客服系统在网络中断,直接禁用网卡,拔掉网线的情况下,也不丢消息,不出异常。
https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53
随着系统的用户越来越多,陆续有客户向我提出反馈意见,关于访客 IP 地址定位的问题,之前我用的是百度 IP 定位的 API 接口,这种方式有几个比较大的问题:

  • 需要实名注册认证百度账户。
  • 只能定位国内IP地址,国外不支持。
  • 只有1000次/天的使用额度,有用户访客量较大之后,就只能显示成未知来源了。
随时用户的增多,特别是有些用户的访客量会话量很大,调用百度API定位也出现了明显的性能不足,并且百度限制了并发数量,不能并发请求。
只有一个办法,彻底放弃百度IP接口,通过离线IP数据库,自主查询定位了。本篇将详细介绍实现办法。
老规矩,先看看实现效果,已经可以定位海外IP:
.net|.net core 和 WPF 开发升讯威在线客服系统(使用本地IP数据库实现访客来源快速定位,支持国外)
文章图片

下载安装 GeoIP
所谓 GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。
第一步:下载 GeoIP 库
访问 GeoIP 官网下载离线文件:https://geoip.com
下载后上传到部署Nginx所在的服务器,上传方式可以使用wscp等。我上传的目录为Centos7.6服务器的 /usr/local/share/GeoIP,上传成功后,执行如下命令解压
cd /usr/local/share/GeoIP tar -zxvf GeoIP-1.4.8.tar.gz

第二步:编译,安装
执行如下命令
cd /usr/local/share/GeoIP/GeoIP-1.4.8 ./configure && make && make install

第三步:配置 Nginx
首先进入Nginx文件夹sbin下查看是否已经安装了GeoIP模块
./configure --prefix=/usr/local/nginx --with-http_geoip_module && make && make install

使用 GeoIP 定位
GeoIP + PHP的使用
include("geoip.inc.php"); // 打开数据文件 $gi = geoip_open("GeoIP.dat",GEOIP_STANDARD); // 获取国家代码 $country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); echo "Your country code is: $country_code "; // 获取国家名称 $country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']); echo "Your country name is: $country_name "; // 关闭文件 geoip_close($gi);

完工!
最后安利一下我这个程序员业余肝出来的产品,在线使用和完整下载私有化部署都是免费的,希望对你有用,谢谢!
免费使用 & 私有化部署:https://kf.shengxunwei.com
私有化版下载地址与版本说明:
https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a
.net|.net core 和 WPF 开发升讯威在线客服系统(使用本地IP数据库实现访客来源快速定位,支持国外)
文章图片

【.net|.net core 和 WPF 开发升讯威在线客服系统(使用本地IP数据库实现访客来源快速定位,支持国外)】.net|.net core 和 WPF 开发升讯威在线客服系统(使用本地IP数据库实现访客来源快速定位,支持国外)
文章图片

支持请点个赞吧~ 谢谢!

    推荐阅读