C#根据IP地址获取城市地址_.NET通过IP地址转换省市
程序员文章站
2022-01-21 19:01:38
...
很多情况下我们需要用的IP转城市的需求,其实根据ip获取城市地点等网上有很多中方法,总结起来就两种,一是在线请求,二是离线本地集成,各有各的好,在这里记录一下第一种情况的其中一种,也就是在线的,个人比较推荐在线的,相对来说比离线的精准。
这里我使用的是百度的API,大家可以去 百度地图开发者后台 申请接口,也可以使用我的接口,都可以的。
1、自定义省市Model
public class LocalhostInfo { public string Province; public string City; }
2、调用方法
/// <summary> /// 百度api /// </summary> /// <returns></returns> public static LocalhostInfo GetBaiduIp(string ip) { LocalhostInfo localhost = new LocalhostInfo(); localhost.Province = "未知"; localhost.City = "未知"; try { string url = "http://api.map.baidu.com/location/ip?ak=znpP1hiQi4hmlNH8oZMa5Z3VfgVnKPII&ip=" ip; WebClient client = new WebClient(); var buffer = client.DownloadData(url); string jsonText = Encoding.UTF8.GetString(buffer); JObject jo = JObject.Parse(jsonText); var province = jo["content"]["address_detail"]["province"].ToString(); var city = jo["content"]["address_detail"]["city"].ToString(); if (string.IsNullOrEmpty(province) || string.IsNullOrEmpty(city)) { return localhost; } localhost.Province = province; localhost.City = city; return localhost; } catch { return localhost; } }
以上两个方法就可以实现通过IP地址转为省和城市的方法,其实很简单的,希望对大家有用。
若资源对你有帮助,浏览后有很大收获,不妨小额打赏我一下,你的鼓励是维持我不断写博客最大动力。
想获取DD博客最新代码,你可以扫描下方的二维码,关注DD博客微信公众号(ddblogs)。
或者你也可以关注我的新浪微博,了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)。
如对资源有任何疑问或觉得仍然有很大的改善空间,可以对该博文进行评论,希望不吝赐教。
为保证及时回复,可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)。
感谢你的访问,祝你生活愉快、工作顺心、欢迎常来逛逛。