首页 > 代码库 > .NET(C#)调用webService获取客户端IP地址所属区域(非异步)
.NET(C#)调用webService获取客户端IP地址所属区域(非异步)
功能描述:
此接口用于获取客户端访问的IP的地址所属的区域(国家,城市等)。通过输入IP地址查询国家、城市、所有者等信息。没有注明国家的为中国输入参数:IP地址(自动替换 " 。" 为 "."),返回数据: 一个一维字符串数组String(1),String(0) = IP地址;String(1) = 国家、城市、所有者等
1.1.1. 接口地址
Webservice方式:
例:http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?op=getCountryCityByIp
1.1.2. 方法名称
getCountryCityByIp
1.1.3. 参数说明
请求参数:
参数名称 | 中文含义 | 类型 | 必填 | 备注 |
无 | 32位的二进制数 | String | 是 | 例如:“127.0.0.1” |
无
| 32位的二进制数 | String | 是 | 例如:“218.108.242.108” |
返回结果:
参数名称 | 中文含义 | 类型 | 必填 | 备注 |
string[] strArea_IP | 返回包含IP信息的数组 | String [] | 否 | 例如:Count=2,表示数组长度为2(0,1) |
strArea_IP[0] | 客户端请求的IP地址 | String | 否 | 例如:“218.108.242.108” |
strArea_IP[1] | IP地址所属区域信息 | String | 否 | 例如:“浙江 杭州” |
下面是通过传入的IP参数来获取所属的区域:
根据第三方网站(webservice提供方),通过在这个网站上抓取到电脑的上网的IP地址来实现获取客户端的IP地址所属区域。
当然如果那天这个网站更改了域名或者不存在了,这个方法随之也就不能正常使用了哦!
接下来的事情就很简单了,将上面的webservice添加到项目中去,然后调用这个webservice来获取上网的区域。
代码具体实现如下:
/// <summary> /// 获取上网IP的所属区域 /// </summary> /// <returns></returns> private string GetConnectNetAddressArea() { string strIP = “218.108.242.108;//请求的IP地址 IpAddressSearchWebService webService = new IpAddressSearchWebService(); string[] strArea_IP=webService.getCountryCityByIp(strIP); return strArea_IP[1];//返回结果:"浙江 杭州" }
.NET(C#)调用webService获取客户端IP地址所属区域(非异步)