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 ...
随机推荐
- joelonsoftware 读书摘录
joelonsoftware 读书摘录 <五个为什么> 1.“黑天鹅难题”,代表外来因素,是一个超出正常预料之外的事件. 2.丰田佐吉的“五个为什么”,当某个地方出现问题时,你就一 ...
- cf703B Mishka and trip
B. Mishka and trip time limit per test 1 second memory limit per test 256 megabytes input standard ...
- G - Supermarket poj1456
题目的描述很长,其实描述的问题很简单,说有n的商品,它们每个的价值是pi,但是呢,再过di天这些商品就不能卖了(有可能过期了...),现在给出来每个商品的价值和可以卖的最后期限,问可以得到最多多少资金 ...
- lyGrid表格插件
表格基础参数: grid = lyGrid({ l_column : [{//表格列表数据 colkey : null, ...
- Spring task任务调度详解
spring内部有一个task是Spring自带的一个设定时间自动任务调度 task使用的时候很方便,但是他能做的东西不如quartz那么的多! 可以使用注解和配置两种方式,配置的方式如下 引入Spr ...
- openresty安装lua和nginx相关
server{ listen ; server_name a.com; index index.php; root /usr/share/nginx/html; location / { if (!- ...
- storyBoard方式ScrollView的AutoLayout
在使用storyboard和xib时,我们经常要用到ScrollView,还有自动 布局AutoLayout,但是ScrollView和AutoLayout 结合使用,相对来说有点复杂.根据实践,我说 ...
- IOS UIView 之属性篇
UIView 继承于UIResponder 所遵守的协议有 NSCoding .UIAppearance. UIAppearanceContainer ...
- visual stduio 插件及代码生成器
下图是本人常用的visual stuido开发工具插件. 2 使用NArrange格式化代码,这个工具,可以将代码格式化,用region分隔开来. NArrange 0.2.9.0 ________ ...
- 火球-UML大战需求分析(体验版3.0.2).pdf
火球-UML大战需求分析(体验版3.0.2).pdf http://files.cnblogs.com/files/happlyonline/%E7%81%AB%E7%90%83-UML%E5%A4% ...