C#关于HttpClient的应用:获取IP所在的地理位置信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#关于HttpClient的应用:获取IP所在的地理位置信息相关的知识,希望对你有一定的参考价值。

    public class IpHttpClient:BaseHttpClient
    {
        private String appKey;
        private const string HOST_PATH = "http://apis.baidu.com/apistore/iplookupservice/iplookup";

        public IpHttpClient()
        {
            this.appKey = BaseHelper.GetValue("BaiduAppKey");
        }

        /// <summary>
        /// HTTP 验证
        /// </summary>
        /// <returns></returns>
        public override Dictionary<string, string> Authorization()
        {
            return new Dictionary<string, string> {{"apikey", this.appKey}};
        }

        /// <summary>
        /// 返回当前Ip所在的地理位置信息
        /// </summary>
        /// <param name="ip"></param>
        /// <returns></returns>
        public ResultDTO GetIpAddress(string ip)
        {
            var reqParams = new Dictionary<String, String>
            {
                {"ip", ip}
            };

            var data = this.SendRequest(Method.Get, HOST_PATH, this.BuildQueryStr(reqParams));
            var result= JsonHelper.ToObject(data.info.ToString());
            if (data.status && Convert.ToInt32(result["errNum"]) == 0)
            {
                var address = JsonHelper.ToObject(result["retData"].ToString());
                return WebApi.Success(address["country"].ToString() + address["province"] + address["city"]);
            }
            return WebApi.Error(data.info);
        }
    }

 

以上是关于C#关于HttpClient的应用:获取IP所在的地理位置信息的主要内容,如果未能解决你的问题,请参考以下文章

C#关于HttpClient的应用:极光推送IM集成

关于.NET HttpClient方式获取微信小程序码(二维码)

C#关于HttpClient的统一配置

无法在 C# 中使用 httpclient 获取标头“Content-Disposition”

C# HTTPClient 不发送请求

无法使用 C# HttpClient 获取任何 cookie