• C#中通过调用webService获取上网IP地址的区域的方法


      首先我找到了一个比较好用的查询IP地址归属地的公用的WebService,http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx

      该WebService的说明如下:

    • getCountryCityByIp

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

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

    • getGeoIPContext

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

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

    • getVersionTime

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

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


      接下来就是要获取用户当前电脑的上网IP了,具体的实现方法如下所示:

      private string GetConnectNetAddress()        

      {             

      string strUrl ="http://www.ip138.com/ip2city.asp"; //获得IP的网址             

      Uri uri = new Uri(strUrl);            

      WebRequest webreq = WebRequest.Create(uri);             

      Stream s = webreq.GetResponse().GetResponseStream();             

      StreamReader sr = new StreamReader(s,Encoding.Default);             

      string all = sr.ReadToEnd(); //读取网站返回的数据格式:您的IP地址是:[x.x.x.x]             

      int i = all.IndexOf("[") + 1;             

      string tempip = all.Substring(i, 15);             

      string ip = tempip.Replace("]", "").Replace

      (" ", "").Replace("<", "");             

      return ip;         

      }

      这个方法是http://www.ip138.com/ip2city.asp通过在这个网站上抓取到电脑的上网的IP地址来实现获取本机的上网的IP地址的。

       接下来的事情就很简单了,将上面的webservice添加到项目中去(创建web references),然后调用这个webservice来获取上网的区域。

       具体实现如下:

      /// <summary>        

      /// 获取上网IP的区域        

      /// </summary>        

      /// <returns></returns>        

      private string GetConnectNetAddressArea()        

      {            

      string strIP = GetConnectNetAddress();            

      IpAddressSearchWebService webService = new IpAddressSearchWebService();            

      string[] strArea=webService.getCountryCityByIp(strIP);            

      return strArea[1];        

      }

      这样获取用户查询的上网IP地址的区域就成功实现了。

    生命不息,奋斗不止
  • 相关阅读:
    Sqlserver中 登录用户只能看到自己拥有权限的库
    数据库的快照隔离级别(Snapshot Isolation)
    (0.2.4)Mysql安装——yum源安装
    sql server动态行列转换
    yum源的报错排除
    sql server dba概念系列引用
    (4.18)数据压缩
    如何查看windows某个目录下所有文件/文件夹的大小?(TreeSize Free)
    持续集成
    PM加油站
  • 原文地址:https://www.cnblogs.com/Griffin/p/2541959.html
Copyright © 2020-2023  润新知