C#根据IP地址获取城市地址_.NET通过IP地址转换省市
2019-09-12 11:41:01  By: shinyuu

很多情况下我们需要用的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的留言板)

感谢你的访问,祝你生活愉快、工作顺心、欢迎常来逛逛。


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+