WindowsPhone8 自动获取 ip 以及 当前所在城市信息
发布日期:2021-06-28 22:55:27 浏览次数:2 分类:技术文章

本文共 2725 字,大约阅读时间需要 9 分钟。

WindowsPhone8 自动获取 ip 以及 当前所在城市信息

    示例代码如下:
///     /// 获取当前地理信息    ///     public static class GetCurrentAddressInfo    {        #region 获取当前的地址        ///         /// 获取当前的地址        ///         public static void GetCurrentAddress()        {            //获取当前地址的 API            UriBuilder urlbuilder =               new UriBuilder("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js");            //创建 HttpWebRequest 对象            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlbuilder.Uri);            //异步调用            IAsyncResult result = request.BeginGetResponse(ResponseCallback, request);        }        static void ResponseCallback(IAsyncResult result)        {            App _currentApp = (App)Application.Current;            //获取异步返回的信息            HttpWebRequest request = (HttpWebRequest)result.AsyncState;            //创建 HttpWebResponse 对象            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);            //读取文件流            using (StreamReader reader = new StreamReader(response.GetResponseStream()))            {                //Json 串                String strJson = @reader.ReadToEnd()                .Replace("var remote_ip_info = ", "")                .Replace(";", "");                Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strJson);                using (MemoryStream ms = new MemoryStream(buffer))                {                    //调用 DataContractJsonSerializer 解析Json                    DataContractJsonSerializer serializer = new                     DataContractJsonSerializer(_currentApp._address.GetType());                    _currentApp._address = (Address)serializer.ReadObject(ms);                }            }        }        #endregion    }
#region Address 地址类    ///     /// Address 地址类    ///     public class Address    {        ///         /// id 省份或城市的编号        ///         public String id { get; set; }        ///         /// updateTime 更新时间        ///         public String updateTime { get; set; }        ///         /// Country 国家        ///         public String country { get; set; }        ///         /// Province 省份        ///         public String province { get; set; }        ///         /// City 市        ///         public String city { get; set; }        ///         /// cityPhoto 城市图片        ///         public String cityPhoto { get; set; }        ///         /// weatherInfo 今日天气实况        ///         public String toDayweather { get; set; }        ///         /// lifeInfo 生活指数        ///         public String lifeInfo { get; set; }        ///         /// cityIntroduce 城市介绍        ///         public String cityIntroduce { get; set; }    }    #endregion
源码下载地址:

以上案例仅供学习参考,如有不足之处还请提出指正,谢谢!

转载地址:https://blog.csdn.net/yimiyuangguang/article/details/19616711 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:WindosPhone8 下拉列表 实现
下一篇:高效网站开发缓存技术应用——网页输出缓存(Ⅲ)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月22日 11时02分31秒