C# 根据IP查询地址归属地
必备文件:IPLocation.dll、QQWry.Dat
下载地址:http://pan.baidu.com/s/1jG1dlOy
(可百度下载)
之前有过将 QQWry.Dat 转为 Access 格式,在 asp/asp.net开发中通过简单算法去查询,缺点是 IP 数据库体积变大。现在有了更简单的方法:
1,下载 IPLocation.dll,将它放在网站的 Bin 目录下,将 QQWry.Dat 放在网站的任何位置(一般为 App_Data 目录)。刷新解决方案管理器。
2,在使用的页面加入引用
using IPLocation;
或者在 web.config 文件中,节点system.web -> pages -> controls 添加
<add tagPrefix="IPLocation" namespace="IPLocation" assembly="IPLocation"/>
3,调用方法:
Label1.Text = IPLocation.IPLocation.IPLocate(Server.MapPath("~/App_Data/QQWry.Dat"), TextBox1.Text.Trim());
方法 IPLocate() 参数一为 QQWry.Dat 路径,参数二为 IP 地址,返回 IP 归属地。
够简单吧,补充一点,在 VS2003 需要在项目中添加 IPLocation.dll 的引用。
封装类里面已经屏蔽了纯真IP数据库里面的 "CZ88.NET"字样。
不过同样有很烦的一点,纯真IP里面数据过长,往往一个地址有20多个字符,这在WEB开发过程中不能很好的控制用户所在地字符串长度。比如:
”59.45.84.2 59.45.84.2 辽宁省本溪市明山区 纵横e空间(地工路博林小区大门右侧10米/辽宁冶金技师学院正门对面19路终点站旁边)“
”60.207.91.111 60.207.91.111 北京市房山区理工大学对面尚学城网吧 111号机“
所以我们可以通过以下方法函数把用户所在地精简到省,市:
public static string GetIPaddress(string _IP)
{
if (_IP.IndexOf("市") >= 0)
{
int v1 = Convert.ToInt32(_IP.IndexOf("市")) + 1;
_IP = _IP.Substring(0, v1);
return _IP;
}
else if (_IP.IndexOf("省") >= 0 && _IP.IndexOf("市") <= 0)
{
int v2 = Convert.ToInt32(_IP.IndexOf("省")) + 1;
_IP = _IP.Substring(0, v2);
return _IP;
}
else if (_IP.IndexOf("哈尔滨") >= 0)
{
return"哈尔滨";
}
else if (_IP.IndexOf("香港") >= 0)
{
return "香港";
}
else if (_IP.IndexOf("台湾") >= 0)
{
return "台湾省";
}
return _IP;
} 转自:http://www.wlcrane.com/article.aspx?arid=12
C# 根据IP查询地址归属地的更多相关文章
- 通过QQ抓IP查询地址
使用工具: Wireshark 可以直接搜索官网获取,个人用的免费的,也可以直接在kali中也是可以直接用的.这里就不介绍怎么安装了,网上很多. 步入正题: 通过wireshark进行抓包查地址,需要 ...
- PHP 中根据 IP 获取地址
这里使用的是淘宝 IP 地址库提供的 API 接口. 淘宝 IP 地址库:http://ip.taobao.com/instructions.html API 文档说明: 使用事例: /** * 调 ...
- 几种获取IP 根据IP获取地址的方法 JS,第三方 新浪 网易 腾讯
第一种是利用纯真ip数据库,这个可以在网上找到很多,缺点是更新有点慢. 第二种是利用门户网站的接口 目前已知的有腾讯.新浪.网易.搜狐和Google提供IP地址查询API,但是找得到的只有腾讯.新浪和 ...
- js的定位实现和ip查询
sina的api var GetLocationFromSina = function (successFunc, errorFunc) { $.getScript('http://int.dpool ...
- IP查询接口1
新浪的:http://counter.sina.com.cn/ip?ip=IP地址返回Js数据,感觉不是很精确,可以把问号后面的去掉,直接返回本机对应的IP所在地http://www.yodao.co ...
- IP查询接口
腾讯的: http://fw.qq.com/ipaddress直接返回本机的IP地址对应的地区新浪的:http://counter.sina.com.cn/ip?ip=IP地址返回Js数据,感觉不是很 ...
- 纯净得只剩下字的访问IP查询API
纯净得只剩下字的访问IP查询API 实用资源 / 2018-02-26 / 3 条评论 看到一个好玩的,就随手收藏一下,本API作用:获取用户真实IP,而获取用户IP常见的坑有两个,开发支付的时候也需 ...
- IP查询系统的异步回调案例
package com.lxj.demo; import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu ...
- ip2region.jar实现ip转地址
ip转地址 根据ip地址查询出所在地址. GitHub地址 https://github.com/lionsoul2014/ip2region/ pom坐标 <dependency> &l ...
随机推荐
- -_-#【CSS】注释
- vim学习与理解
1. 转变思维 --> vim 无鼠标文本编辑工具 在鸟哥的linux私房菜中,是这么说明linux的: 1. vim是linux like系统中非常强大的一个文本编辑工具,历史悠久,很多系统都 ...
- IIS7授权错误:“无法验证对路径的访问”的解决方法
解决方法: iis7 无法验证对路径的访问 1.打开IIS 7管理器,鼠标单击定位到出现了这个错误的网站. 2.在IIS 7管理器的右边,选择“基本设置”. 3.在弹出的“编辑网站”对话框中,单击“连 ...
- Ubuntu中Nginx的安装与配置
原文地址:http://www.cnblogs.com/languoliang/archive/2013/04/01/nginx.html 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务 ...
- enigma机的原理
注:本文修改自三思科学<ENIGMA的兴亡> ENIGMA ENIGMA看起来是一个装满了复杂而精致的元件的盒子.不过要是我们把它打开来,就可以看到它可以被分解成相当 ...
- S3C2440 I2C总线控制
概述:话不多说,直接上图 多主机IIC总线控制(IICCON): IIC控制总线状态(IICSTAT): IIC总线地址(IICADD): IIC发送,接收总线寄存器(IICDS) IIC总线控制寄存 ...
- 使用 Java 配置进行 Spring bean 管理--转
概述 众所周知,Spring 框架是控制反转 (IOC) 或依赖性注入 (DI) 模式的推动因素,而这种推动是通过基于容器的配置实现的.过去,Spring 允许开发人员使用基于 XML 的配置,通过利 ...
- CoreText实现图文混排之点击事件
今天呢,我们继续把CoreText图文混排的点击事件补充上,这样我们的图文混排也算是圆满了. 哦,上一篇的链接在这里 http://www.jianshu.com/p/6db3289fb05d Cor ...
- AutoBackupForApps
This sample demonstrates how to selectively disable Automatic Backups in Android M, either by adjust ...
- Eclipse快捷键 10个最有用的快捷键(转)
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. ...