浅析代理服务器的测试与实现
摘 要
本论文主要描述一个代理服务器测试程序的设计与实现需要了解代理服务器的工作原理在Visual C++6.0平台上开发一个基于对话框的MFC应用程序此程序能够在短时间内验证一批具有特定格式的代理并将他们按照速度快慢的顺序排列使得用者能很方便的选择快速可用的代理去访问外网资源。
在程序的设计之中作者借鉴了成熟代理软件ProxyFox的一些设计理论。为了让习惯操作ProxyFox的用者能够很好的使用SuperProxy设计了与ProxyFox相似的界面 当然也在一定程度上使界面做得更为简洁、美观。
关键词代理服务器测试
The Design and Implementation of Proxy Server Testing
Program
Abstract
This thesis describes a proxy server testing program’s design and realization. Itis needed to master the theory of the Proxy server ,and realize it in Visual C++6.0development platform based on an MFC dialog application procedure. Thisprocedure can verify a number of specific format agents in a short time and orderthem according to the speed.Users can choose the quickest available agents to visitnetwork resources.
In the design process the author drawes on the experience of mature software,ProxyFox, to accommodate the operation hab its o f ProxyFox.ProxyFox is designedwith a similar interface,but it is more concise and beautiful.
Key words:proxy; server; test
目 录
论文总页数 22页1 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1. 1 课题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2 本课题研究的意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.3 本课题的研究方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2 系统设计基础. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2. 1 VC++6.0简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2.2 MFC概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
3 SuperProxy简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
3. 1 系统开发环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
3.2 SuperProxy功能简述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
4 SuperProxy的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
4. 1 SuperProxy的界面设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
4.2 SuperProxy功能模块设计阶段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
4.3 SuperProxy流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
5 SuperProxy具体编码实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
5. 1 代理资源列表模块实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
5.2 代理验证模块实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
6 系统测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
结 论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
1 引言
1.1 课题背景
代理服务器英文全称是Proxy Server其功能就是代理网络用户去取得网络信息。形象的说它是网络信息的中转站。在一般情况下我们使用网络浏览器直接去连接其他Internet站点取得网络信息时须送出Request信号来得到回答然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器有了它之后浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求 Request信号会先送到代理服务器 由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且大部分代理服务器都具有缓冲的功能就好象一个大的Cache它有很大的存储空间它不断将新取得数据储存到它本机的存储器上如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的那么它就不重新从Web服务器取数据而直接将存储器上的数据传送给用户的浏览器这样就能显著提高浏览速度和效率。
它的工作主要在开放系统互联(OSI)模型的对话层。主要的功能有
1.突破自身IP访问限制访问国外站点。教育网、 169网等网络用户可以通过代理访问国外网站。
2.访问一些单位或团体内部资源如某大学FTP(前提是该代理地址在该资源的允许访问范围之内) 使用教育网内地址段免费代理服务器就可以用于对教育网开放的各类FTP下载上传 以及各类资料查询共享等服务。
3.突破中国电信的IP封锁中国电信用户有很多网站是被限制访问的这种限制是人为的不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。
4.提高访问速度通常代理服务器都设置一个较大的硬盘缓冲区 当有外界的信息通过时同时也将其保存到缓冲区中当其他用户再访问相同的信息时 则直接由缓冲区中取出信息传给用户 以提高访问速度。
5.隐藏真实IP上网者也可以通过这种方法隐藏自己的IP免受攻击。
1.2 本课题研究的意义
在当前情况下 由于内网和网络或者是两个不同网络之间互访都有很大的速度瓶颈就像校园网去访问电信网就慢的出奇在这种情况下很多人都会采用代理上网以期得到可观的速度。本课题就是针对这种情况设计与实现一个代理服务器测试程序 SuperProxy(极速代理)是在Visual C++6.0平台上开发的一个基于对话框的MFC应用程序此程序能够在短时间内验证特定格式的一批代理并将他们按照速度快慢的顺序排列。使得用者能很方便的选择快速可
用的代理去访问外网资源。
1.3 本课题的研究方法
课题研究的步骤一般分为五个步骤确定课题——拟定课题计划——写开题报告——进行研究——结题。首先根据自己的特点选择适于自己的知识结构 自己感兴趣的课题。在进行研究的同时读书查与此课题相关的资料并收集相关问题和经验为撰写论文打好基础。另外同课题教师经常研究讨论并归类整理自己遇到的问题让自己不仅做好设计并牢牢掌握住需要用到的技术。
2 系统设计基础
2.1 VC++6.0简介
VC++给人的第一感觉便是过于专业化高深和晦涩。其实也并非如此在基本掌握了它之后你就会发现 VC++使用起来是很方便的。至于说难那是有点。 但这并非是VC++的过错而是Windows这个庞大无比对用户亲切之至却对程序员不那么友好的家伙。再说 VC++系出自名门微软的哪样东西不是先把你服侍得舒舒服服然后再把你口袋中的钱掏个精光呢
VC++是Windows平台上的C++编程环境学习VC要了解很多Windows平台的特性并且还要掌握MFC、 ATL、 COM等的知识难度比较大。 Windows下编程需要了解Windows的消息机制以及回调(callback)函数的原理MFC是Win32API的包装类需要理解文档视图类的结构窗口类的结构消息流向等等 COM是代码共享的二进制标准需要掌握其基本原理等等。
2.2 MFC概述
MFC,微软基础类(Microsoft Foundation Classes) 实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎 VC++是WinOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit专业软件开发平台) 。 MFC就是挂在它之上的一个输助软件开发包 MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言是一种大家都承认的软件编制的通用规范而VC++只是一个编译器或者说是一种编译器+源程序编辑器的IDE WS PlatForm这跟Pascal和Dephi的关系一个道理 Pascal是Dephi的语言基础, Dephi使用Pascal规范来进行Win下应用程序的开发和编译却不同于Basic语言和VB的关系 Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范 VB新加的Basic语言要素如面对对象程序设计的要素是一种性质上的飞跃使VB既是一个IDE又成长成一个新的程序设计语言 MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库只不过MFC类是微软为VC++专配的。jwwwwwwmMMmmmm2
MFC是Win API与C++的结合 API,即微软提供的WinOS下应用程序的编程语言接口是一种软件编程的规范但不是一种程序开发语言本身可以允许用户使用各种各样的第三方(如我是一方微软是一方 Borland就是第三方)的编程语言来进行对Win OS下应用程序的开发,使这些被开发出来的应用程序能在WinOS下运行 比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API 因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里遵守WinOS作为一个操作系统的内部实现,这其实也是一种必要微软如果不提供API,这个世上对Win编程的工作就不会存在微软的产品就会迅速从时尚变成垃圾上面说到MFC是微软对API函数的专用C++封装这种结合一方面让用户使用微软的专业C++SDK来进行Win下应用程序的开发变得容易因为MFC是对API的封装。微软做了大量的工作,隐藏了好多内节程序开发人员在Win下用C++&MFC编制软件时的大量内节,如应用程序实现消息的处理设备环境绘图这种结合是以方便为目的的必定要付出一定代价(这是微软的一向作风) 。因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的。3 SuperProxy简介
3.1 系统开发环境
系统软件环境
操作系统 WindowsXP
程序语言 C++
开发平台 Visual C++ 6.0
浏览器 Inertnet Explorer 6.0
系统硬件环境
处理器 AMD Sempron 2400+ 1.66GHz
内存 256MB
3.2 SuperProxy功能简述
SuperProxy是围绕着怎样验证代理服务器的可用性来展开设计与实现的所以很明确的讲整个系统的主要功能为快速准确的验证一批代理并按照一定的次序对验证结果进行排序能够很明显的看出代理间的速度差异另外会提供一些可以给大家带来方便的辅助功能。以下对SuperProxy将要实现的功能做简要的描述
1. 可以从. txt格式的文件导入代理列表,自动从文件中识别出代理 自动过滤掉空白或者无效格式代理。
2. 提供对代理列表的多种操作如删除代理、添加代理、复制代理等。
3. 快速准确地验证所有代理并自动按照速度的快慢排序 另外提供对
单个代理和可选代理的验证。
4. 可以导出可用可选代理到. txt文件。
5. 可以选定某个代理设置为IE代理。
6. 提供一个代理资源列表方便用户得到代理。其中提供了对代理资源列表的一些相关操作如添加、删除代理等。
7. 简单的代理验证设置。
图1 SuperProxy功能结构图jwwwwwwmMMmmmm4
优林怎么样?优林好不好?优林 是一家国人VPS主机商,成立于2016年,主营国内外服务器产品。云服务器基于hyper-v和kvm虚拟架构,国内速度还不错。今天优林给我们带来促销的是国内东北地区哈尔滨云服务器!全部是独享带宽!首月5折 续费5折续费!地区CPU内存硬盘带宽价格购买哈尔滨电信2核2G50G1M53元直达链接哈尔滨电信4核4G50G1M83元直达链接哈尔滨电信8核8G50G1M131元直...
香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...
Moack怎么样?Moack(蘑菇主机)是一家成立于2016年的商家,据说是国人和韩国合资开办的主机商家,目前主要销售独立服务器,机房位于韩国MOACK机房,网络接入了kt/lg/kinx三条线路,目前到中国大陆的速度非常好,国内Ping值平均在45MS左右,而且商家的套餐比较便宜,针对国人有很多活动。不过目前如果购买机器如需现场处理,由于COVID-19越来越严重,MOACK办公楼里的人也被感染...