WP7:获得本机外网IP

一种方法,和PC端原理一样。通过读取某一网站数据,返回IP地址。

首先 我们判断下是否联网:

DeviceNetworkInformation.IsNetworkAvailable


需要引入命名空间:

using Microsoft.Phone.Net.NetworkInformation;

下面是方法:

public static void GetResponseText(string url, Action<string> action)
        {
            var request = WebRequest.CreateHttp(url);

            request.BeginGetResponse(ar =>
            {
                string responseText;
                using (var response = request.EndGetResponse(ar))
                    responseText = GetResponseText(response);

                int start = responseText.IndexOf("[") + 1;
                int end = responseText.IndexOf("]");
                string tempip = responseText.Substring(start, end - start);
                string ip = tempip;
                Deployment.Current.Dispatcher.BeginInvoke(() => action(ip));
      }, null);
        }

通过传入的一个URL,然后 GetResponseText(response);

public static string GetResponseText(WebResponse response)
        {
            using (Stream stream = response.GetResponseStream())
            {
                return new StreamReader(stream).ReadToEnd();
            }
        }

将读取到的Text 赋给 responseText 。然后把得到的字符串截取。

最后调用方法:

if (DeviceNetworkInformation.IsNetworkAvailable)
                GetResponseText("http://www.ip138.com/ip2city.asp", s => textBlock.Text = "本机IP: " + s);

“http://www.ip138.com/ip2city.asp” 是获得IP 的网址。

OK ,完成。

转载于:https://www.cnblogs.com/Walsh/archive/2011/12/09/2282633.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值