Get machine IP and location via open api private static string GetOwnPublicIP() {


      private static string GetOwnPublicIP()

      {

         try

         {

            var html = new WebClient().DownloadString( "http://checkip.dyndns.com/");

            var ipStart = html.IndexOf(": ", StringComparison.OrdinalIgnoreCase) + 2;

            return html.Substring(ipStart, html.IndexOf("</", ipStart, StringComparison.OrdinalIgnoreCase) - ipStart).Trim();

         }

         catch (System.Exception ex)

         {

            System.Diagnostics.Debug.WriteLine(ex.ToString());

            return string.Empty;

         }

      }

 public static LocationResponseData GetOwnLocation()

      {

         try

         {

            string url = string.Format("http://api.ipinfodb.com/v3/ip-city/?key={0}&ip={1}&format={2}", "1ec2f16b88b85a99145af5671fe45e641f051781843dc4dba714ccb09910e52f", GetOwnPublicIP(),"json");

            string response = WebUtilities.GethttpRequest(url);

            if (response == null)

               return null;



            return JsonUtilities.JsonToObj<LocationResponseData>(response);

         }

         catch (System.Exception ex)

         {

            System.Diagnostics.Debug.WriteLine(ex.ToString());

            return null;

         }

      }



public class LocationResponseData

{

   public string statusCode { get; set; }

   public string statusMessage { get; set; }

   public string ipAddress { get; set; }

   public string countryCode { get; set; }

   public string countryName { get; set; }

   public string regionName { get; set; }

   public string cityName { get; set; }

   public string zipCode { get; set; }

   public double latitude { get; set; }

   public double longitude { get; set; }

   public string timeZone { get; set; }

}




 

 

你可能感兴趣的:(location)