根据IP判断国家

Ying-zi 2011-03-31 09:42:04
最近做一个项目,需要根据用户的IP来判断所在的国家,然后执行相应的操作,这个要怎样实现呢?
查了IP地址分配表,还是没有结果,请问哪位能帮忙提供下解决方案?
...全文
2174 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuangwen163 2013-01-15
  • 打赏
  • 举报
回复
http://blog.csdn.net/shuangwen163/article/details/8493920
yangcl 2011-12-22
  • 打赏
  • 举报
回复
真正的解决方案是在这里 http://hi.baidu.com/dotnet_/blog/item/aa39f6ea2b47063f2df53484.html
IP数据库可以从 http://www.maxmind.com/app/geolitecity 下载
这里有收费版(精确度更高99.8%),也有免费版的,精确度位99.5%
而且还有JAVA/.Net/PHP的范例代码
Ying-zi 2011-04-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wlf535944903 的回复:]
我们正好也有这个问题 希望LZ 解决后 说下怎么解决的
[/Quote]
用6楼的方法,下个IP库,再判断就可以了。
wlf535944903 2011-04-01
  • 打赏
  • 举报
回复
我们正好也有这个问题 希望LZ 解决后 说下怎么解决的
a619762 2011-04-01
  • 打赏
  • 举报
回复
找一个 外部接口。
yangniao 2011-04-01
  • 打赏
  • 举报
回复
搞个webserver看看
xxoo2007 2011-04-01
  • 打赏
  • 举报
回复
找个IP数据库,百度“IP数据库”就有,我用的是珊瑚虫的。

拿到之后,数据转成喜欢的格式,我是转成“003.000.000.000|004.255.255.255|美国|”这种格式的TXT文本。

基于文本写个查询,我用的是Table的过滤来实现
String strSql = "IP1 <= " + IpLocalMng.IptoLong(strIp) + " and IP2 >=" + IpLocalMng.IptoLong(strIp);
......
DataRow[] drResult = dsData.Tables[0].Select(strSql);
changjiangzhibin 2011-04-01
  • 打赏
  • 举报
回复
最好有个对应库,开放的API好像没有商用的
李小冲 2011-04-01
  • 打赏
  • 举报
回复
http://api.wipmania.com/
访问这个网址,就能得到相应的国家,楼主,给分吧,哈哈
Ying-zi 2011-03-31
  • 打赏
  • 举报
回复
刚刚看到了6L的回答,明天测试了再来结贴,谢谢各位
Ying-zi 2011-03-31
  • 打赏
  • 举报
回复
最好能够有个IP数据表,这样可以自己来直接进行查询,不用调用web服务了。
不知哪位可有这样的做法?
子夜__ 2011-03-31
  • 打赏
  • 举报
回复
webservice应该有点慢

下个IP库 来判断也行

.NET读取QQWry.Dat 纯真版ip数据库格式数据源
haa17 2011-03-31
  • 打赏
  • 举报
回复
添加Web服务引用
haa17 2011-03-31
  • 打赏
  • 举报
回复
Endpoint: http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx
Disco: http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?disco
WSDL: http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl

添加web应用


cn.com.webxml.webservice.IpAddressSearchWebService ip = new cn.com.webxml.webservice.IpAddressSearchWebService();
string[] a = ip.getCountryCityByIp("125.39.117.63");


WebXml.com.cn IP地址搜索 WEB 服务包含中国和国外已知的IP地址数据,是目前最完整的IP地址数据,记录数量现已超过37万条并还在不断更新和增加中,因IP地址在不断变化,此IP地址数据查询仅供参考。
此IP地址搜索Web Services请不要用于任何商业目的,若有需要请联系我们,欢迎技术交流。 QQ:8409035
使用本站 WEB 服务请注明或链接本站:http://www.webxml.com.cn/ 感谢大家的支持!



支持下列操作。有关正式定义,请查看服务说明。

getCountryCityByIp


通过输入IP地址查询国家、城市、所有者等信息。没有注明国家的为中国
输入参数:IP地址(自动替换 " 。" 为 "."),返回数据: 一个一维字符串数组String(1),String(0) = IP地址;String(1) = 查询结果或提示信息




getGeoIPContext


获得您的IP地址和地址信息
输入参数:无,返回数据: 一个一维字符串数组String(1),String(0) = IP地址;String(1) = 地址信息




getVersionTime


获得本IP地址搜索 WEB 服务的数据库版本更新时间
输入参数:无,输出参数 String



这是说明文档,我给你copy了下。


_程序员 2011-03-31
  • 打赏
  • 举报
回复
threenewbee 2011-03-31
  • 打赏
  • 举报
回复
www.ip138.com

或者找一个数据库。
misswangjinfeng 2011-03-31
  • 打赏
  • 举报
回复
不会吧。根据IP来判断,要执行什么样的操作呃!!!http://topic.csdn.net/t/20030711/16/2017565.html 这是个类似的例子。看看。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧