zoukankan      html  css  js  c++  java
  • IP地址查询API的C#实现

    一切从登录记录开始

    看到TX的登录记录之后,突然想去在登录环节也加上这个功能,然后就写了下面的具体实现代码。现在一点也不纠结IP在数据库中保存类型是UNSIGNED INT还是VARCHAR了。

    干货来了哦_

    using System.Net;
    using System.Web;
    using Newtonsoft.Json;
    using System.Web.Script.Serialization;
    
    namespace ConsoleApplication1
    {
        public class IPToLocation
        {
            public IPLocation GetLocationByTB(string ip)
            {
                if (string.IsNullOrEmpty(ip))
                    return null;
                var webClient = new WebClient();
                var entity = webClient.DownloadString(string.Format("http://ip.taobao.com/service/getIpInfo.php?ip={0}",ip));
                var json = new JavaScriptSerializer().Deserialize<dynamic>(entity);
                if (json == null || json["code"] == 1)
                    return GetLocationBySina(ip);    //调用其它接口
                var data = new JavaScriptSerializer().Serialize(json["data"]);
                IPLocation model = JsonConvert.DeserializeObject<IPLocation>(data);
                return model;
            }
    
            public IPLocation GetLocationBySina(string ip)
            {
                // http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip={0}
                // 其它同上哦.
            }
        }
    
        [JsonObject]
        public class IPLocation
        {
            [JsonProperty]
            public string IP { get; set; }
            [JsonProperty]
            public string Country { get; set; }
            [JsonProperty]
            public string Country_Id { get; set; }
            [JsonProperty]
            public string Area { get; set; }
            [JsonProperty]
            ...
            ...
        }
    }
    

    源代码下载

  • 相关阅读:
    这几天都是在公司慢待
    电脑没有关机可能出现发博文dns异常(write)
    DOS/VBS
    SourceInsight
    CevaEclipse
    C/C++
    Matlab
    Matlab
    C语言
    Matlab
  • 原文地址:https://www.cnblogs.com/mafly/p/4503871.html
Copyright © 2011-2022 走看看