各大网站都提供根据ip获取用户地理位置信息,这里以新浪的接口为例子
接口地址为:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.18.171.146
代码:
1 #region 根据ip获取地点 2 /// 获取Ip归属地 3 /// </summary> 4 /// <param name="ip">ip</param> 5 /// <returns>归属地</returns> 6 public static string GetIpAddress(string ip) 7 { 8 JavaScriptSerializer Jss = new JavaScriptSerializer(); 9 //http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.18.171.146 调用新浪的接口 10 //var remote_ip_info = {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd","province":"\u5e7f\u4e1c","city":"\u6df1\u5733","district":"","isp":"","type":"","desc":""}; 11 string address = string.Empty; 12 try 13 { 14 string reText = WebRequestPostOrGet("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip="+ip, ""); 15 reText = reText.Split('=')[1].Split(';')[0].Trim(); 16 Dictionary<string, object> DicText = (Dictionary<string, object>)Jss.DeserializeObject(reText); 17 address = DicText["city"].ToString(); 18 } 19 catch { } 20 return address; 21 } 22 #endregion