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; } } }