说明:

(1) http://www.3322.org/dyndns/getip 这个网址可以获取本机IP,读取的内容就是本机IP

(2)方法经测试,可以实现。

(3)参考:http://www.cnblogs.com/ceachy/articles/CSharp_Retrive_Page_Document.html

两种方法:

(1)使用WebClient

private static string GetIP(String url) {

WebClient MyWebClient = new WebClient();

//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。

MyWebClient.Credentials = CredentialCache.DefaultCredentials;

//从指定网站下载数据

                  Byte[] pageData = MyWebClient.DownloadData(url);

//网站页面采用的是GB2312

                 string pageHtml = Encoding.Default.GetString(pageData);

//网站页面采用的是UTF-8

                //string pageHtml = Encoding.UTF8.GetString(pageData);

return pageHtml;

        }

(2)使用WebBrowser

WebBrowser web = new WebBrowser();

web.Navigate("http://www.3322.org/dyndns/getip");

web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted);

//获取网页上的内容

           void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {

WebBrowser web = (WebBrowser)sender;

HtmlElementCollection ElementCollection = web.Document.GetElementsByTagName("Body");

foreach (HtmlElement item in ElementCollection) {

ipstr += item.InnerText;

}

        }

备注:

win7获取内网IP:

IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName());

            IPAddress ipa = ipe.AddressList[2];

            string myIp = Convert.ToString(ipa);

根据IP获取所在地:

WebBrowser web = new WebBrowser();

            web.Navigate("http://www.cz88.net/ip/index.aspx?ip="+myIP);

            web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted);

/// <summary>

        /// 获取用户所在地 方法

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {

            WebBrowser web = (WebBrowser)sender;

            //获取所在地

            HtmlElement heAddress = web.Document.GetElementById("cz_addr");

            //获取操作系统

            //HtmlElement heSystem = web.Document.GetElementById("cz_opt");  

            string[] abc = heAddress.InnerText.Split(' ');

            lblAddress.Text = abc[0];

           

        }

版权声明:本文为博主原创文章,未经博主允许不得转载。

C# 获取网页数据、获取本机IP 分类: C# 2014-12-16 14:59 308人阅读 评论(0) 收藏的更多相关文章

  1. Java获取项目中的路径 分类: Java Game 2014-08-14 10:17 122人阅读 评论(0) 收藏

    在项目中经常需要获取某个文件的路径: 在这里提供一些获取路径的方法.. 1.此种方式获取的路径,是当前类所在的路径: UserDAOTest.class.getResource("UserD ...

  2. 获取文件路径 分类: WinForm 2014-07-25 14:27 103人阅读 评论(0) 收藏

    //可获得当前执行的exe的文件名. string str1 =Process.GetCurrentProcess().MainModule.FileName; //获取和设置当前目录(即该进程从中启 ...

  3. winform Execl数据 导入到数据库(SQL) 分类: WinForm C# 2014-05-09 20:52 191人阅读 评论(0) 收藏

    首先,看一下我的窗体设计: 要插入的Excel表: 编码 名称 联系人 电话 省市 备注 100 100线 张三 12345678910 北京 测试 101 101线 张三 12345678910 上 ...

  4. iOS开发:创建真机调试证书 分类: ios相关 2015-04-10 10:22 149人阅读 评论(0) 收藏

    关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架发布问题.今天就着重说一下关于针对于苹果 ...

  5. MS SQL数据批量备份还原(适用于MS SQL 2005+) 分类: SQL Server 数据库 2015-03-10 14:32 103人阅读 评论(0) 收藏

    我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较麻烦: 还好,微软自带的osql工具,比较实用,通过在命令行里里输入命 ...

  6. irms模拟数据生成及数据分析 分类: H_HISTORY 2015-03-06 14:17 212人阅读 评论(0) 收藏

    一.数据准备 1.每天生成随机一个文本,每小时向文本中追加2次数据,每次10万条 随机数据生成: 2,32  * * * *  bash /mnt/jediael/irms/signalGenerat ...

  7. 跨服务器修改数据 分类: SQL Server 2014-08-21 21:24 316人阅读 评论(0) 收藏

     说明: 两个服务器: 192.168.0.22   A 192.168.0.3     B 数据库备份在A上 数据库在B上 在A上写: exec sp_addlinkedserver   'ITSV ...

  8. 使用URLConnection获取网页信息的基本流程 分类: H1_ANDROID 2013-10-12 23:51 3646人阅读 评论(0) 收藏

    参考自core java v2, chapter3 Networking. 注:URLConnection的子类HttpURLConnection被广泛用于Android网络客户端编程,它与apach ...

  9. DateTime日期格式获取 分类: C# 2014-04-15 10:36 233人阅读 评论(0) 收藏

    c#.net 获取时间年月日时分秒格式 //获取日期+时间 DateTime.Now.ToString();            // 2008-9-4 20:02:10 DateTime.Now. ...

随机推荐

  1. TP缓存设计方案解析

    TP的缓存主要依赖Cache类,Cache类其实是一个代理类,Cache类通过getInstance静态方法来获取缓存实例,而getInstance方式实际是调用Cache类的connect方法,该方 ...

  2. 哈希表(hashtable)的javascript简单实现

    javascript中没有像c#,java那样的哈希表(hashtable)的实现.在js中,object属性的实现就是hash表,因此只要在object上封装点方法,简单的使用obejct管理属性的 ...

  3. VC皮肤库之duilib

    首先是个国产的开源 的,directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 .Window CE.Mobile等平台. Duilib ...

  4. python基础 [Alex视频]

    vi hello.py#!/usr/bin/env pythonprint "hello world!"while True: print("hello world!&q ...

  5. 01 Hello, Python!

    目标:万能的Hello,World! 接收用户输入,并打印出来. #!/usr/bin/python # First comment print("Hello, Python!") ...

  6. css3实现无缝滚动效果

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic

    这个错误,一般在高版本设备里面不会出现,而在低版本会出现比如你的项目或者引入的静态库的Deployment Target设置成了ios6.0而你的测试设备是ios5.0甚至更低,就会出现如上错误.因为 ...

  8. 用 Webgoat 撬动地球,看安全测试的引路石!

    测试工程师是很多人迈进软件行业的起点.从负责很小的局部到把握整个产品的质量,每个人花费的时间长短不一--从功能到性能.可用性到容错性.从兼容性到扩展性.稳定性到健壮性--方方面面逐渐做广做深. 不过, ...

  9. 【HDU3081】Marriage Match II (二分+最大流)

    Description Presumably, you all have known the question of stable marriage match. A girl will choose ...

  10. 监听APP升级广播处理

    当旧版本的用户升级新版本的时候需要重新设定一些值处理,这时候需要监听升级版本的广播 <receiver android:name=".OnUpgradeReceiver"&g ...