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