您的位置:首页 > 理论基础 > 计算机网络

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

2013-12-17 09:51 253 查看
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); });
}

}

}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息