欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

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的留言板)

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