科技时代新浪首页 > 科技时代 > 学园 > 正文

Visual C#实现HTTP代理服务程序(3)


http://www.sina.com.cn 2006年02月27日 11:37 天极yesky

    (二). 利用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所示:

VisualC#实现HTTP代理服务程序(3)
 
图03:客户端设定Web代理服务器对话框

  此时客户端的设置就完成了,在确定IP地址为"10.138.198.213"的这台计算机已经运行上面介绍的Web代理程序后。打开客户端的IE浏览器,并输入要浏览的网址,就可以通过Web代理服务器来浏览网页了,图04是Web代理服务程序在服务器端运行时的界面。

VisualC#实现HTTP代理服务程序(3)
 
图04:Web代理服务程序在服务器端的运行界面

  四.总结

  至此一个简单的Web代理服务软件就算基本完成了,通过上面内容的介绍可见,虽然代理服务的实现原理相对简单,但具体实现其实还是很繁琐的。网络代理是一个内容丰富,实现复杂的论题,本节介绍的代理服务软件,无论在实现的协议种类,还是实现的功能,都只能算很小的一部分。希望各位能够通过本文的介绍,结合其他相关的知识,创造出功能更强大、安全性更高,使用更稳定的网络代理服务程序来。

[上一页] [1] [2] [3]

发表评论

爱问(iAsk.com)



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Corporation, All Rights Reserved

新浪公司 版权所有