zoukankan      html  css  js  c++  java
  • 获取ip地址以及获取城市等信息

    class Program
        {
            static void Main(string[] args)
            {
                string ip = GetIP();
                if (ip != null)
                {
                    string city = GetCityByIP(ip);
                    Console.WriteLine("解析的城市名称为 = " + city);
                }
                Console.ReadKey();
            }
    
            static string GetIP()
            {
                string result = GetWebContent("http://city.ip138.com/ip2city.asp");
                if (result != null)
                {
                    int start = result.IndexOf("[") + 1;
                    int end = result.LastIndexOf("]");
                    string ip = result.Substring(start, end - start);//找出ip
                    return ip;
                }
                return null;
            }
    
            static string GetCityByIP(string ip)
            {

            string url = "http://ip.taobao.com/service/getIpInfo.php?ip=" + ip;
            string content = GetWebContent(url);
            if (content != null)
            {
              JsonData res = JsonMapper.ToObject(content);
              if (res != null && res.Count == 2)
              {
                int status = Convert.ToInt32(res["code"].ToString());
                if (status == 0)
                {
                  JsonData js = res["data"];
                  string city = js["city"].ToString();
                  return city;
                }
              }
            }
            return null;

            }

      static string GetWebContent(string url)
            {
                try
                {
                    System.Net.WebClient wc = new System.Net.WebClient();
                    wc.Credentials = System.Net.CredentialCache.DefaultCredentials;
                    return wc.DownloadString(url);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("GetWebContent 发生了错误:" + ex.Message);
                    return null;
                }
            }
        }
  • 相关阅读:
    CriticalSection关键代码区(临界区)
    互斥对象(Mutex)、事件对象(Event) 与 关键代码段(CriticalSection) 的比较(互斥量Mutex 保证只有一个实例运行)
    VC popup Menu,弹出菜单
    C++ virtual inherit, 虚基类
    互斥量Mutex
    sprintf,swprintf,_stprintf
    图灵图书列表
    IDirect3DDevice9::EvictManagedResources
    过年去了,消失好久
    《C++编程规范》中文版上市
  • 原文地址:https://www.cnblogs.com/MrZivChu/p/ipcity.html
Copyright © 2011-2022 走看看