1. 程式人生 > >unity獲取ip地址並且返回詳細歸屬地資訊

unity獲取ip地址並且返回詳細歸屬地資訊

本地內網ip的獲取

string ip = Network.player.ipAddress;
Debug.Log("ip:"+ ip);

外網ip的獲取

    IEnumerator GetIp()
    {
        WWW w = new WWW(@"http://icanhazip.com/");//藉助第三方庫返回外網IP
        yield return w;
        Debug.Log(w.text);
    }

返回詳細歸屬地資訊

    IEnumerator IpDemand()
    {
        WWW w = new WWW(@"http://icanhazip.com/");
        //先獲取外網IP
        yield return w;
        //通過淘寶IP的第三方庫獲取IP的詳細資訊
        WWW www = new WWW(@"http://ip.taobao.com/service/getIpInfo.php?ip="+w.text);
        yield return www;
        if (www.error != null)
            print("error is login:" + www.error);
        else
            Debug.Log(www.text);
    }

下面介紹一下淘寶IP的相關

                     格式實際為http://ip.taobao.com/service/getIpInfo.php?ip=XXX.XXX.XXX.XXX)
  2. 響應資訊: 
      (json格式的)國家 、省(自治區或直轄市)、市(縣)、運營商 
  3. 返回資料格式: (Json格式)
   {

    "code":0,

    "data":{

        "ip":"210.75.225.254",

        "country":"\u4e2d\u56fd",

        "area":"\u534e\u5317", 

        "region":"\u5317\u4eac\u5e02",

        "city":"\u5317\u4eac\u5e02",

        "county":"",

        "isp":"\u7535\u4fe1", 

        "country_id":"86",

        "area_id":"100000",

        "region_id":"110000",

        "city_id":"110000", 

        "county_id":"-1",

        "isp_id":"100017"

               }

           } 

   其中code的值的含義為,0:成功,1:失敗。