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
------------解决方案--------------------
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> 来自:上海
注:此方法验证失败