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

来源:互联网 发布:java web国际化 编辑:程序博客网 时间:2024/06/05 23:59


      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; }}


原创粉丝点击