(二). 利用Proxy类,实现Web代理的具体示例:
下面是利用上面创建的Proxy类,实现Web代理程序的具体实现步骤,Proxy类被定义在命名空间WebProxy中。
1. 在Visual Studio .Net的代码编辑器中打开Class1.cs文件,进入Class1.cs的代码编辑界面。
2. 在Class1.cs源文件的开头导入下列命名空间:
using System ; using System.Net ; using System.Net.Sockets ; using System.Text ; using System.IO ; using System.Threading ; using WebProxy ; //其中命名空间WebProxy是Proxy类所处的位置,具体可以参阅Proxy.cs源文件 //中命名空间的定义。 |
3. 在Main函数中添加下列代码,下列代码是利用Proxy类,来实现Web代理程序。
const int port = 8000 ; //定义端口号 TcpListener tcplistener = new TcpListener ( port ) ; Console.WriteLine ( "侦听端口号: " + port.ToString ( ) ) ; tcplistener.Start ( ) ; //侦听端口号 while ( true ) { Socket socket = tcplistener.AcceptSocket ( ) ; //并获取传送和接收数据的Scoket实例 Proxy proxy = new Proxy ( socket ) ; //Proxy类实例化 Thread thread = new Thread ( new ThreadStart ( proxy.Run ) ) ; //创建线程 thread.Start ( ) ; //启动线程 } |
保存上面的所有步骤,这样一个简单Web代理程序就算是完成了。此Web代理程序侦听的是8000端口号。
(三).测试Web代码程序:
Web代理程序要通过二台计算机才能够实现。其中的一台计算机运行Web代理程序,充当Web代理服务器。另外一台计算机充当客户机,通过Web代理服务器来浏览网页。在确定Web代理软件运行后,下面是对客户机进行必要的设置。
1. 打开IE浏览器。
2. 选择【工具】|【Internet选项】,弹出【Internet选项】对话框。在此对话框中选择【连接】页面,单击其中的【局域网设置】按钮。弹出【局域网(LAN)设置】对话框。选择【为LAN使用代理服务器(X),(这些设置不会应用于拨号和VPN连接)】多选框。并在其中的【地址】文本框中输入代理服务器的IP地址,由于测试的代理服务器的IP地址为"10.138.198.213",所有也输入此IP地址,在【端口】文本框中输入"8000"。具体如图03所示:
 图03:客户端设定Web代理服务器对话框 |
此时客户端的设置就完成了,在确定IP地址为"10.138.198.213"的这台计算机已经运行上面介绍的Web代理程序后。打开客户端的IE浏览器,并输入要浏览的网址,就可以通过Web代理服务器来浏览网页了,图04是Web代理服务程序在服务器端运行时的界面。
 图04:Web代理服务程序在服务器端的运行界面 |
四.总结:
至此一个简单的Web代理服务软件就算基本完成了,通过上面内容的介绍可见,虽然代理服务的实现原理相对简单,但具体实现其实还是很繁琐的。网络代理是一个内容丰富,实现复杂的论题,本节介绍的代理服务软件,无论在实现的协议种类,还是实现的功能,都只能算很小的一部分。希望各位能够通过本文的介绍,结合其他相关的知识,创造出功能更强大、安全性更高,使用更稳定的网络代理服务程序来。
查看本文来源