欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c#通過ip獲取地理信息

 更新時間:2014年01月27日 16:46:48   作者:  
這篇文章主要介紹了c#通過ip獲取地理信息的方法,這里是通過cz88和ip138查詢的

復制代碼 代碼如下:

/// <summary>
      /// 通過IP得到IP所在地省市(Porschev)
      /// </summary>
      /// <param name="ip"></param>
      /// <returns></returns>
      public string GetAdrByIp(string ip)
      {
          string url = "http://www.cz88.net/ip/?ip=" + ip;
          string regStr = "(?<=<span\\s*id=\\\"cz_addr\\\">).*?(?=</span>)";
          //得到網(wǎng)頁源碼
          string html = GetHtml(url);
          Regex reg = new Regex(regStr, RegexOptions.None);
          Match ma = reg.Match(html);
          html = ma.Value;
          string[] arr = html.Split(' ');
          return arr[0];
      }
      /// <summary>
      /// 獲取HTML源碼信息(Porschev)
      /// </summary>
      /// <param name="url">獲取地址</param>
      /// <returns>HTML源碼</returns>
      public string GetHtml(string url)
      {
          string str = "";
          try
          {
              Uri uri = new Uri(url);
              WebRequest wr = WebRequest.Create(uri);
              Stream s = wr.GetResponse().GetResponseStream();
              StreamReader sr = new StreamReader(s, Encoding.Default);
              str = sr.ReadToEnd();
          }
          catch (Exception e)
          {
          }
          return str;
      }
      /// <summary>
      /// 得到真實IP以及所在地詳細信息(Porschev)
      /// </summary>
      /// <returns></returns>
      public string GetIpDetails()
      {
          //設置獲取IP地址和國家源碼的網(wǎng)址
          string url = "http://www.ip138.com/ips8.asp";
          string regStr = "(?<=<td\\s*align=\\\"center\\\">)[^<]*?(?=<br/><br/></td>)";
          //IP正則
          string ipRegStr = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";
          //IP地址
          string ip = string.Empty;
          //國家
          string country = string.Empty;
          //省市
          string adr = string.Empty;
          //得到網(wǎng)頁源碼
          string html = GetHtml(url);
          Regex reg = new Regex(regStr, RegexOptions.None);
          Match ma = reg.Match(html); html = ma.Value;
          Regex ipReg = new Regex(ipRegStr, RegexOptions.None);
          ma = ipReg.Match(html);
          //得到IP
          ip = ma.Value;
          int index = html.LastIndexOf(":") + 1;
          //得到國家
          country = html.Substring(index);
          adr = GetAdrByIp(ip);
          return "IP:" + ip + " 國家:" + country + " 省市:" + adr;
      }

相關文章

  • C#實現(xiàn)安全刪除文件目錄的方法

    C#實現(xiàn)安全刪除文件目錄的方法

    這篇文章主要介紹了C#實現(xiàn)安全刪除文件目錄的方法,涉及C#刪除文件目錄的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • C#實現(xiàn)批量壓縮和解壓縮的示例代碼

    C#實現(xiàn)批量壓縮和解壓縮的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)批量壓縮和解壓縮的功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C# ListBox中的Item拖拽代碼分享

    C# ListBox中的Item拖拽代碼分享

    在本文中我們給大家分享了關于C#的ListBox中的Item拖拽的功能代碼分享,對此有需要的朋友參考學習下。
    2018-03-03
  • C#小程序15位轉18位身份證號代碼

    C#小程序15位轉18位身份證號代碼

    現(xiàn)在我們使用的都是18位身份證號,而以前都是15位身份證號,而如何將15位身份證號轉18位身份證號轉換為18位身份證號呢?
    2013-02-02
  • C#從字符串中指定位置移除子字符串的方法

    C#從字符串中指定位置移除子字符串的方法

    這篇文章主要介紹了C#從字符串中指定位置移除子字符串的方法,涉及C#中Remove方法的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • c# 反射用法及效率對比

    c# 反射用法及效率對比

    這篇文章主要介紹了c# 反射用法及效率對比,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#使用GDI+實現(xiàn)生成驗證碼

    C#使用GDI+實現(xiàn)生成驗證碼

    這篇文章介紹了C#使用GDI+實現(xiàn)生成驗證碼的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)

    c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)

    本篇文章主要介紹了c#獲取字符串寬度的示例代碼(字節(jié)數(shù)方法)。需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • C#通用郵件發(fā)送類分享

    C#通用郵件發(fā)送類分享

    這篇文章主要介紹了C#通用郵件發(fā)送類分享,本文類比較特別的一點是涵蓋了國內大多數(shù)的常用郵箱,需要的朋友可以參考下
    2015-05-05
  • Stream.Write 與 StreamWriter.Write 的不同

    Stream.Write 與 StreamWriter.Write 的不同

    Stream.Write 與 StreamWriter.Write 是我們在向流中寫數(shù)據(jù)時,最常用的方法。下面就詳細講解這兩個方法。
    2013-04-04

最新評論