通过访客的IP地址,根据QQ的纯真IP库,通过封装库快速获取归属地信息。先把IPLocation.dll文件添加引用到你的项目,然后把qqwry.dat 文件放在合适的目录,我的放在App_Data里。很多朋友会问:“IP库的更新怎么办?”,这个好办..
1、===================================
首先得先下载两个文件;
IPLocation.dll[IP库操作封装],qqwry.dat[IP库文件] 这两个文件在示例源码里都可以找到。
通过访客的IP地址,根据QQ的纯真IP库,通过封装库快速获取归属地信息。
关键操作:
先把IPLocation.dll文件添加引用到你的项目,然后把qqwry.dat 文件放在合适的目录,我的放在App_Data里。
以下是调用:
- /// <summary>
- /// 根据IP地址 返回所在地区名称 我把该函数放在一个类文件里,方便随处调用
- /// </summary>
- /// <param name="strIP">IP地址</param>
- /// <param name="page">页面Page对象</param>
- /// <returns></returns>
- public static string GetNameByIP(string strIP, System.Web.UI.Page page)
- {
- string strName = "未知区域";
- if (!string.IsNullOrEmpty(strIP))
- {
- try
- {
- string ConIPData = page.Server.MapPath("~/App_Data/qqwry.dat");
- strName = IPLocation.IPLocation.IPLocate(ConIPData, strIP.Trim());
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- return strName.Trim();
- }
该IP库文件有7M多之大,不知各位有没有办法给压缩下,望指教,谢谢。
示例源码:点击下载
很多朋友会问:“IP库的更新怎么办?”,这个好办,下载以下软件,定期【腾讯5天一更新】更新IP库文件,上传到你的网站上覆盖即可。
IP库更新软件:点击下载
2、========================================
群里有朋友提供了一个更简便的方法:
调用腾讯的接口:
腾讯的ip接口地址:http://fw.qq.com/ipaddress
请求这个接口会返回一个变量的声明 如:var IPData = new Array("120.1.85.112","","河北省","石家庄市");
调用的时候:<script type=text/javascript>document.write(IPData[3]);</script> 结果:石家庄市