【模拟浏览器】C# 网络编程之最简单浏览器实现

原创 萧瑟  2018-01-03 16:24:33  阅读 442 次 评论 1 条

好久没发博了,刚好最近公司又分了一个新的项目,C/S项目,牵扯到浏览器相关的技术--webBrower,这个控件是基于IE内核,你懂的。

一:相关技术

C#网络编程的HTTP协议编程,HTTP即Hypertext Transfer Protocol的缩写,意为:超文本传输协议。其中与HTTP相关的知识主要有六个类的知识,分别是

      (1).HttpWebRequest类:用于获取和操作HTTP请求;

      (2).HttpWebResponse类:用于获取和操作HTTP应答;

      (3).WebRequest类:用于获取和操作Web请求;

      (4).WebResponse类:用于获取和操作Web应答;

      (5).Uri类:用于获取和操作网络资源位置;

      (6).WebClient类:用于网络客户端操作.


      下面主要是利用利用上面所述类的方法获取相应URL的应答内容,通过赋值数据流,再从字节流中读取内容赋值给webBrowser控件中实现最简单的浏览器,但内容虽少,但也体现了浏览器基本的一些操作和HTTP相关的网络编程知识。


二:效果图

仿浏览器效果图

三:界面布局

界面中添加label1”输入网址“,添加一个textBox作为输入的网址,添加button1其text属性为”浏览“。最重要的是添加一个webBrower控件,该控件指"允许用户在该控件中浏览网页",并且设置其Anchor属性(定义控件绑定到容器边缘)为Top、Bottom、Left、Right。这样点击全屏时能动态跟随变换的显示网页内容。【如上效果图】

四:源代码

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;      
        }
    }
}

五:源码下载

高速下载

本文地址:https://www.xsyrz.cn/WinForm-Browser.html
版权声明:本文为原创文章,版权归 萧瑟 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. 恩倍莉
    恩倍莉  @回复

    可以,学习到了