运用HP-Socket构建一个可以连接多个网站的代理服务器

发布于 2021-11-28 09:43:23 字数 448 浏览 872 评论 5

我看了一下C#下的TcpProxyServer的Demo,然后自己构建了一个代理服务器,就是简单的将http请求当中的host解析出来,然后通过Agent.connect去连接这个网站,已经可以差不多可以处理这个问题了,但是我发现,每一个网站的所有HTTP请求并不一定是同一个Host,比如百度首页的JS的host就是s1.bdstatic.com,于是我将不同的host也取出来用connnect连接,发现,agent只能与一个网站进行连接,如果我在访问百度的请求中将connect从www.baidu.com改为Connect到s1.bdstatic.com,那么同时请求的host为www.baidu.com的数据包可能丢失,所以我通过封装和建立多个Agent组件解决了这个问题,但是维护起来很困难,请问大家,构建可以访问多个网址的代理服务器是编写的?

PS.我发现agent组件有异步设置,但是不知道有何作用也不知道怎么用,请问这个能否解决我的问题?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

北笙凉宸 2021-11-30 01:59:38

看看开发指南文档吧!

同步是指等到连接上了或确定失败了Connect才返回。

异步是指Connect立刻返回,如果返回FALSE则说明连接一定失败;如果返回TRUE,那么还不能确定是否连接成功,要等激发了OnConnect事件才说明连接成功,如果激发的是OnError则说明连接失败。

夜司空 2021-11-30 01:55:08

引用来自“伤神小怪兽”的评论

参考:C++ Demo HttpProxy

小瓶盖 2021-11-29 14:31:08

毕竟只是个demo,HttpProxy对Chrome浏览器支持比较好些,好好试试。

奈何桥上唱咆哮 2021-11-29 11:39:50

引用来自“伤神小怪兽”的评论

参考:C++ Demo HttpProxy

毁梦 2021-11-28 11:49:19

参考:C++ Demo HttpProxy

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文