ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:155.50KB ,
资源ID:14561942      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14561942.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(http代理服务器课程设计报告Word下载.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

http代理服务器课程设计报告Word下载.doc

1、HTTP协议即超文本传输协议,是Internet上进行信息传输时使用最为广泛的一种非常简单的通信协议。部分局域网对协议进行了限制,只允许用户通过HTTP协议访问外部网站。4.http代理服务器代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Req

2、uest信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。更重要的是:Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层。二、需求分析理解winsock技术网络编程技术,分析HT

3、TP代理应用程序设计原理和程序流程,选择合适的开发环境,参考已有的HTTP程序功能,设计实现HTTP代理功能的应用程序。1. winsock的理解与分析这次课设要使用网络编程技术,这就要求掌握winsock的相关知识,因为winsock是Windows下网络编程的规范 ,是被广泛应用的、开放的、支持多种协议的网络编程接口,要使用winsock编程技术应该了解一些TCP/IP的基础知识,因为WinSock其实就是TCP/IP协议的一种封装,我们可以通过调用WinSock的接口函数来调用TCP/IP的各种功能,例如如果想用TCP/IP协议来发送数据,你就可以使用WinSock的接口函数Send()

4、来调用TCP/IP的发送数据功能,至于具体怎么发送数据,WinSock已经帮你封装好了这种功能,当然这里的TCP/IP协议准确的说来应该是TCP/UDP/IP协议。Winsocket函数:Windows的Socket函数有许多,我没有做详细介绍,这里的函数都是简要说明其用途,这里的主要目的是为了后面的三个应用服务。函数说明: WSAStartup函数初始化Winsock声明intWSAStarup(WORDwVersionRequested,LPWSADATAlpWSAData);参数wVersionRequested-要求使用Winsock的最低版本号lpWSADataWinsock的详细资

5、料返回值当函数成功调用时返回0失败时返回非0的值socket函数用于生成socket(soketDescriptor)SOCKETsocket(intaf,inttype,intprotocol);af地址家族(通常使用:AF_INET)typesocket的种类SOCK_STREAM:用于TCP协议SOCK_DGRAM用于UDP协议protocol所使用的协议当函数成功调用时返回一个新的SOCKET(Socket失败时返回INVALID_SOCKET.inet_addr函数地址转换,把A.B.C.D的IP地址转换为32位长整数unsignedlonginet_addr(constcharFA

6、R*cp);cp指向IP地址字符串的指针当函数成功调用时返回用32位整数表示的IP地址失败时返回INADDR_NONE.gethostbyname函数从主机名获取主机信息.structhostent*gethostbyname*namename指向主机名字符串的指针当函数成功调用时返回主机信息失败时返回NULL(空值)recv函数利用Socket进行接受数据.recvs,*buflenflags指向用Socket函数生成的SocketDescriptorbuf接受数据的缓冲区(数组)的指针缓冲区的大小flag调用方式(MSG_PEEK或MSG_OOB)成功时返回收到的字节数.如果连接被中断则返

7、回0失败时返回SOCKET_ERRORsendto函数发送数据.sendtosockaddr*totoken调用方式(MSG_DONTROUTEto指向发送方SOCKET地址的指针发送方SOCKET地址的大小成功时返回已经发送的字节数.失败时返回SOCKET_ERROR2有关http代理协议的体系结构本课设所做的是代理是一种应用层上面的代理,所代理的协议是HTTP,也就是经常见到的Web代理,网络代理就是一个连接客户端(设定需要代理的计算机)和服务器端(需要访问资源的服务器)的桥,以下是网络代理服务的一个典型模型图:代理服务的运行的流程:(1). 能够接收并解析客户端的请求。(2). 创建到服

8、务器的新连接,并根据转发客户端的请求信息。(3). 接收服务器反馈的信息。(4). 能够发出或解释服务器的响应并将该响应传回给客户端。三、详细设计1.程序流程图和设计方案程序的流程图如下:实例连接web服务器上侦听端口,接收客户端浏览器发送来的Web请求信息解析出Web服务器的地址,创建socket实例通过创建的Socket传送客户端的Web请求数据包到Web服务器的80端口接收Web服务器返回页面数据把接收来的数据传送到客户端完成,实现了web代理设计方案:主要包括三个部分内容:1).创建一个Web代理类。2).Web代理服务的类的实例化。3). 通过这个Web代理类的实例实现Web代理服务

9、。具体方案可以参见下文。2.选择开发环境,编译源程序选择visual studio .net 2003开发环境源程序编译及步骤:1).创建一个web代理类,命名WebProxy,编辑Proxy.cs文件:using System ;using System.Net ;using System.Net.Sockets ;using System.Text ;using System.IO ;/以上代码是导入Proxy.cs中要使用到的命名空间2). 用下列构造函数替代默认的构造函数。下面的代码是在Proxy类中创建一个构造函数。 Proxy类只有一个构造函数,并且这个构造函数只有一个参数,这个参

10、数是Socket对象,它主要用来和客户端进行数据交换,是一个客户Socket。public Proxy ( Socket socket )this.clientSocket = socket ; 3). 创建Proxy类中的Run方法,Run方法是Proxy类中唯一的方法。其功能是从客户端接收HTTP请求,并传送到Web服务器,然后从Web服务器接收反馈来的数据,并传送到客户端。为了实现这二个不同方面的数据传送,Run方法中是通过二个Socket实例来实现的。由于HTTP是TCP/IP参考模型中的应用层协议,它建立于TCP协议之上,所以创建的Socket实例使用的协议类型应该为TCP协议。下面

11、代码是创建可以传送HTTP请求命令到Web服务器和接收来自Web服务器反馈来信息的Socket实例:Socket IPsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);4). 另外一个Socket是在代理服务程序侦听端口号,接收挂起的连接请求时候得到的,以此Socket为参数,利用Proxy类中的构造函数,来创建一个Proxy实例的。此Socket实现从客户端接收HTTP请求信息,并传送数据到客户端。创建Proxy类的Run方法:public void Run ( ) string clientmessage = ;/存放来自客户端的HTTP请求字符串string URL = /存放解析出地址请求信息int bytes = ReadMessage ( read , ref clientSocket , ref clientmessage ) ;if ( bytes = 0 )return ;int index1 = clientmessage.IndexOf ( ) ;int index2 = clientmessage.Inde

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1