C# IP v4转地址·地名 高德

需求:

IPv4地址转地址

如:输入14.197.150.014,输出河北省·石家庄市

SDK:

目前使用SDK为高德地图WebAPI

高德地图开放平台icon-default.png?t=N7T8https://lbs.amap.com/

可个人开发者使用,不过有配额限制。

WebAPI 免费配额调整公告icon-default.png?t=N7T8https://lbs.amap.com/news/webapimfpy

流量限制说明icon-default.png?t=N7T8https://lbs.amap.com/api/webservice/guide/tools/flowlevel

API介绍icon-default.png?t=N7T8https://lbs.amap.com/api/webservice/guide/api/ipconfig

请自行在高德后设置白名单,及创建应用。

请求代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace ShangShangQian.Utility
{
    public class GaoDeMapAPI
    {
        public const string Key = "改成你的KEY";

        /// <summary>
        /// 高德地图IP转地名
        /// https://lbs.amap.com/api/webservice/guide/api/ipconfig
        /// </summary>
        /// <param name="ip"></param>
        public async static Task<IPLocation> GetIPLocation(string ip)
        {
            IPLocation result = new IPLocation();
            using (var client = new HttpClient())
            {
                string url = $"https://restapi.amap.com/v3/ip?ip={ip}&output=json&key={Key}";
                var response = await client.GetAsync(url);

                if (response.IsSuccessStatusCode)
                {
                    string json = await response.Content.ReadAsStringAsync();

                    result = JsonConvert.DeserializeObject<IPLocation>(json);
                }
                else
                {
                    result.status = "0";
                }
            }

            return result;
        }
    }

    [Serializable]
    public class IPLocation
    {
        /// <summary>
        /// <para>返回结果状态值</para>
        /// <para>值为0或1,0表示失败;1表示成功</para>
        /// </summary>
        public string status;

        /// <summary>
        /// <para>返回状态说明</para>
        /// <para>返回状态说明,status为0时,info返回错误原因,否则返回“OK”。</para>
        /// </summary>
        public string info;

        /// <summary>
        /// <para>状态码</para>
        /// <para>https://lbs.amap.com/api/ios-sdk/guide/map-tool/errorcode</para>
        /// </summary>
        public string infoCode;

        /// <summary>
        /// <para>省份名称</para>
        /// <para>若为直辖市则显示直辖市名称</para>
        /// <para>如果在局域网 IP网段内,则返回“局域网”</para>
        /// <para>非法IP以及国外IP则返回空</para>
        /// </summary>
        public string province;

        /// <summary>
        /// <para>城市名称</para>
        /// <para>示例:石家庄市</para>
        /// </summary>
        public string city;

        /// <summary>
        /// <para>城市的adcode编码</para>
        /// <para>示例:130100</para>
        /// </summary>
        public string adcode;

        /// <summary>
        /// <para>所在城市矩形区域范围</para>
        /// <para>所在城市范围的左下右上对标对</para>
        /// <para>示例:114.2195964,37.86302147;114.7912717,38.22308596</para>
        /// </summary>
        public string rectangle;
    }
}

相关推荐

  1. 地图海量点

    2024-01-30 07:04:03       61 阅读
  2. flutter 使用地图

    2024-01-30 07:04:03       56 阅读
  3. vue接入地图

    2024-01-30 07:04:03       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 07:04:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 07:04:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 07:04:03       87 阅读
  4. Python语言-面向对象

    2024-01-30 07:04:03       96 阅读

热门阅读

  1. Python PDF转换为图片的解决方案

    2024-01-30 07:04:03       59 阅读
  2. 用python实现调用百度文心一言

    2024-01-30 07:04:03       54 阅读
  3. Hadoop与Spark横向比较【大数据扫盲】

    2024-01-30 07:04:03       67 阅读
  4. OkHttp的理解和使用

    2024-01-30 07:04:03       58 阅读
  5. LeetCode1504. Count Submatrices With All Ones

    2024-01-30 07:04:03       53 阅读
  6. 基于机器学习的无损缺陷检测技术研究进展

    2024-01-30 07:04:03       68 阅读