cxiは訪問者の実際のIPアドレス及び所在地地区(二)を取得する.

4243 ワード

           Ip  ,          Ip        .
ここで、私はサードパーティのポジショニングサービスを使います.淘宝のIpアドレスライブラリです.
タオバオのIpアドレスライブラリを呼び出すだけで所在地を調べることができます.
 
淘宝Ipアドレスライブラリリンク:
http://ip.aliyun.com/instructions.html
c#获取访问者的真实IP地址以及所在地区(二)-------所在地区_第1张图片
 
上の図では、私たちは呼び出したAPIアドレスと必要なパラメータとリターンのデータフォーマットが必要です.
要求インターフェースアドレス:''http://ip.taobao.com/service/getIpInfo.php?ip=xxxx'IPアドレスだけを提供すればいいです.
戻りデータフォーマットでは、Jsonデータをエンティティクラスに変換する必要があります.
バックグラウンドコード:
第一歩:c铉遠隔でデータを要求する
    :WebRequestHeler   
public  static class WebRequestHelper

    {
        /// 
        /// Get               
        /// 
        ///  Get         
        /// 
        public static string GetUrl(string url)
        {
            string resultstring = string.Empty;
            Encoding encoding = Encoding.UTF8;
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);//   url         
                request.Method = "GET";
                request.Accept = "text/html, application/xhtml+xml, */*";
                request.ContentType = "application/json";
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                {
                    resultstring = reader.ReadToEnd();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return resultstring;
        }
    }
...
   :     .
public class IpAddressInfo

    {
        public int code { get; set; }
        public DataList data { get; set; }
    }
 public class DataList
    {
        public string ip { get; set; }
        public string country { get; set; }
        public string area { get; set; }
        public string region { get; set; }
        public string city { get; set; }
        public string county { get; set; }
        public string isp { get; set; }
        public string country_id { get; set; }
        public string area_id { get; set; }
        public string region_id { get; set; }
        public string city_id { get; set; }
        public string county_id { get; set; }
        public string isp_id { get; set; }
    }
   :  Json         
public static class JsonHelper

                {
                    /// 
                    ///       Json       
                    /// 
                    /// 
                    /// 
                    /// 
                    public static T StringToEnteity(string jsonStr)  where T : class
                    {
                        try
                        {
                            return JsonConvert.DeserializeObject(jsonStr);
                        }
                        catch (Exception ex)
                        {
                            string error = ex.Message;
                            return null;
                        }
                    }
              }
 
ステップ4:Ipによって本当のアドレスを取得する.
//  IP   :120.79.252.67

string IpAddress = "120.79.252.67";//        Ip  
//      
string url="http://ip.taobao.com/service/getIpInfo.php?ip="+IpAddress +"";
//      Get  
string strJson=WebRequestHelper.GetUrl(url);//  Json  
//            
IpAddressInfo inf = JsonHelper.StringToEnteity(strJson);
//            
//  :
//  :inf.data.country;
// :inf.data.region;
// :inf.data.city;
//    ;inf.data.isp
原文の住所:
http://www.zddblog.top/Home/Detail?art_id=Mjk=