用C#实现Web代理服务器4

二)利用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;

  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地址,比如“10.138.198.213”,在“端口”文本框中输入“8000”,如图3所示:

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

  四、总结

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

原文地址:https://www.cnblogs.com/leeairw/p/138989.html