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

Get machine IP and location via open api private static string GetOwnPublicIP() {,第1张

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2090221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存