16-http编程获取网站的标题

来源:互联网 发布:2015雾霾数据统计图 编辑:程序博客网 时间:2024/06/14 09:14
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Microsoft.Phone.Controls;using System.IO;namespace PhoneApp1{    public partial class MainPage : PhoneApplicationPage    {        // 构造函数        public MainPage()        {            InitializeComponent();            Loaded += new RoutedEventHandler(MainPage_Loaded);        }        void MainPage_Loaded(object sender, RoutedEventArgs e)        {            //创建对象            WebClient webClient = new WebClient();            //创建URi            webClient.OpenReadAsync(new Uri("http://www.baidu.com"));            //调用监听事件            webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);            getTitle();        }        void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)        {            using (StreamReader reader = new StreamReader(e.Result)) {                String content = reader.ReadToEnd();                int begin = content.ToString().IndexOf("<title>");                int end = content.ToString().IndexOf("</title>");                textBox1.Text = content.ToString().Substring(begin+7,end-begin-7);            }        }        //获取title信息        private void getTitle() {            String uri = "http://www.baidu.com";            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);            IAsyncResult result = request.BeginGetResponse(back,request);        }        private void back(IAsyncResult result) {            //获取异步操作返回的信息            HttpWebRequest request = (HttpWebRequest)result.AsyncState;            //结束对Internet资源的异步请求            WebResponse response = request.EndGetResponse(result);                        using(Stream stream=response.GetResponseStream())            using (StreamReader reader = new StreamReader(stream)) {                string contents = reader.ReadToEnd();                int begin = contents.ToString().IndexOf("<title>");                int end = contents.ToString().IndexOf("</title>");                //切换到UI线程进行显示,此线程不同于UI线程                Dispatcher.BeginInvoke(() => { textBox2.Text = contents.ToString().Substring(begin + 7, end - begin - 7); });            }                    }    }}

0 0