(3) .WebRequest类:用于获取和处理Web请求;
(4) .WebResponse类:用于获取和处理Web响应;
(5) .Uri类:用于获取和操纵网络资源的位置;
([6) .WebClient类:用于网络客户端操作。
以下主要是使用上述方法,通过分配数据流获取相应URL的响应内容,然后从字节流中读取内容并将其分配给webBrowser控件,以实现最简单的浏览器,但内容较少,但也反映了一些基本的浏览器操作和HTTP相关的网络编程知识。

一.接口设计
在界面中添加label1“输入URL”,添加一个textBox作为输入URL,并添加文本属性为“ Browse”的button1。最重要的是添加一个webBrower控件,该控件表示“允许用户在此控件中浏览网页”,并将其Anchor属性(将控件定义为绑定到容器的边缘)设置为Top,Bottom,左右。这样,单击全屏后,更改后可以动态显示网页的内容。

二.源代码
主要目的是单击“浏览”按钮以生成相应的click事件,这可以通过将相关的浏览器代码添加到该事件,同时添加相应的命名空间来实现。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//新添加命名空间
using System.Net;
using System.IO;
namespace HttpWeb
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//双击"浏览"添加Click事件
private void button1_Click(object sender, EventArgs e)
{
//获取输入的URL
string url = textBox1.Text;
//创建http链接
//HttpWebRequest对象实例:该类用于获取和操作HTTP请求 var可改成HttpWebRequest
var request = (HttpWebRequest)WebRequest.Create(url); //Create:创建WebRequest对象
//HttpWebResponse对象实例:该类用于获取和操作HTTP应答 var可改成HttpWebResponse
var response = (HttpWebResponse)request.GetResponse(); //GetResponse:获取答复
//构造数据流对象实例
Stream stream = response.GetResponseStream();//GetResponseStream:获取应答流
StreamReader sr = new StreamReader(stream); //从字节流中读取字符
//从流当前位置读取到末尾并显示在WebBrower控件中
string content = sr.ReadToEnd();
webBrowser1.DocumentText = content;
}
}
}
三.运行结果
输入并单击“浏览”按钮以浏览百度网页。同时,请注意在输入URL中添加“ HTTP://”。这只是一个简单的实现,而必要的处理方法是根据基本语法对其进行解析。

点击“全屏”显示如下:

但是浏览时会出现一些问题:一个是脚本错误,提示“没有权限”,另一个是某些网站(例如我们学校Intranet)的显示格式在浏览时是错误的,有时在浏览时会遇到网上冲浪。学校Intranet的格式错误,这是我接下来需要考虑的问题。
同时,当我浏览百度网站时,我已经在IE中登录,并且可以显示我的用户名。但是,当我使用该浏览器时,发现它尚未登录,这表明我们的许多信息都已临时存储。在Cookies或Session中,这有助于我回顾以前的PHP课程的内容。
收藏一个详细介绍web浏览器控件的网站,其中webBrowser 1. Navigate(textBox 1. Text.Trim());一句话就能实现浏览功能,不会有ISO-8859-1乱码的问题。
最后,通过此示例,您可以很好地了解一些HTTP网络编程知识,同时,您可以实现一个简单的浏览器。如果有缺陷或错误,希望大家!希望本文能对您有所帮助,也对自己有帮助。
(BY:Eastmount 2013-7-26-8:00 am)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-361271-1.html
空军起飞