asp.net(C#)如何获取IP地址所属的省份及城市【实践篇】

------------解决方案--------------------
纯真版IP数据库(CZ88.net)
一直在更新
目前有48万数据,很好用,自己百度下

注:该方法应该可行,由于项目实践紧,以后再验证
------------解决方案--------------------
你可以用下webservice
http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx

注:getCountryCityByIp
通过输入IP地址查询国家、城市、所有者等信息。没有注明国家的为中国

输入参数:IP地址(自动替换 " 。" 为 "."),返回数据: 一个一维字符串数组String(1),String(0) = IP地址;String(1) = 查询结果或提示信息

 getGeoIPContext
获得您的IP地址和地址信息

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

注意:该方法已经停用

 getVersionTime
获得本IP地址搜索 WEB 服务的数据库版本更新时间

输入参数:无,输出参数 String

具体实践见如下描述,

------------实践--------------------

1. 添加IPWebService

一般而言,C#中调用WebService,首先得添加web引用,选中你的web项目,点击右键,选择Add Web Reference,这时会出现一个页面,要你输入web service的地址,你填入http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx

后点击go就会找到该页面,填上别名(add reference name),如:IPAddressSearch,然后点击Add reference就行。这时它会自动在你的web.config文件中生成<setting name="WebQuery_IPAddressSearch_IpAddressSearchWebService"
        serializeAs="String">
        <value>http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx</value>
      </setting>

2. 在页面中调用的时候需要先实例化:如 

WebQuery.IPAddressSearch.IpAddressSearchWebService service = new WebQuery.IPAddressSearch.IpAddressSearchWebService();
string theIpAddress = "218.56.32.7";
string[] IPAddress = service.getCountryCityByIp(theIpAddress);
string IPAddressProviceInfo = IPAddress[1].Substring(0, 3);    //provice
string IPAddressCityInfo = IPAddress[1].Substring(3, 3);  //city
View Code

------------解决方案--------------------
webrequest->
http://www.ip.cn/getip2.php?action=queryip&ip_url=211.144.216.41
ip_url改成你想要查询的ip地址
然后得到的信息是:
您查询的IP是:<span class='orange'>211.144.216.41</span> 来自:上海

注:此方法验证失败

posted @ 2013-12-16 15:53  帅姐  阅读(4853)  评论(0编辑  收藏  举报