zoukankan      html  css  js  c++  java
  • 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地址的区域就成功实现了。

    生命不息,奋斗不止
  • 相关阅读:
    .net注册iis
    hdu 1081To The Max
    hdu 1312Red and Black
    hdu 1016Prime Ring Problem
    hdu 1159Common Subsequence
    hdu 1372Knight Moves
    hdu 1686Oulipo
    hdu 1241Oil Deposits
    hdu 1171Big Event in HDU
    hdu 4006The kth great number
  • 原文地址:https://www.cnblogs.com/Griffin/p/2541959.html
Copyright © 2011-2022 走看看