一、前言
这个实验挺麻烦的,本来就只有一周时间,等我开始着手准备的时候,也就剩两三天了,也没什么心情自己重头开打代码,于是就找了大佬的代码借鉴了一下,在验收之前处理完了所有的bug。不过,我觉得这个实验还是最好自己慢慢想,想到问题再去搜索,能收获到更多,可以对socket编程和http代理服务器的实现有着更深的理解。以下报告,如有错误,感谢指正!
二、实验结果
1、基本代理服务器的实现
首先我们先手动设置代理福服务器,IP地址为127.0.0.1,端口设为10240,与程序中监听端口保持一致。
在未运行程序时,无法访问http://today.hit.edu.cn网站。
当程序执行时,代理服务器便正常工作,能将数据报文发给客户端,最终页面显示成功。至此,基本代理服务器的功能便实现完成。
2、设计支持Cache功能的HTTP代理服务器
当我们打开今日哈工大的网站之后,本地中立刻出现了cache文件,同时在我们的程序窗口中也显示了文件名以及缓存成功的提示。
当我们再次访问http://www.today.hit.edu.cn/网站时,我们加载的速度会比第一次快一点,而且在窗口中也显示,我们本次是通过获取本都缓存来加载的页面。
3、扩展http代理服务器
(a)网页过滤
我们将http://www.hit.edu.cn/作为过滤的网站,当我们打开程序,访问这个网址时,会提示无法运作,在我们的控制台中也显示提示信息禁止访问。说明成功实现网站过滤。
(b)用户过滤
我们把本机代理服务器的IP地址设为禁用,即禁用127.0.0.1,然后运行程序,发现当识别到与禁用地址相同时,会退出程序,成功实现了用户禁用。
(c)网站引导
我们一开始设置的网站引导是访问http://pku.edu.cn/重定向到 http://today.hit.edu.cn/,然后启动程序,访问pku.edu.cn,经过处理后直接赚到了今日哈工大的页面,至此,网站引导功能完成。
三、结尾
文章最后,附上我借鉴的两位大佬的原博客,感谢二位。
HTTP 代理服务器的设计与实现_rocketeerLi的博客-CSDN博客
计算机网络之HTTP代理服务器_love_green的博客-CSDN博客_计算机网络代理服务器
最后的最后,附上我的源码文章来源:https://www.toymoban.com/news/detail-412090.html
https://github.com/tu-gou/httpProxy/blob/master/httpProxy/httpProxy.cpp文章来源地址https://www.toymoban.com/news/detail-412090.html
到了这里,关于HTTP代理服务器的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!