2

我正在尝试在 C++ 中创建一个 SOCKS 代理,该代理在 localhost 上作为后台进程运行。

如果用户的浏览器配置为使用代理,我希望所有 HTTP 请求都通过正常的 TCP/IP 堆栈传递。ie 浏览器的行为将与正常情况完全相同。

最终我将添加另一个层来检查请求的资源是否符合某些标准,如果符合,将以不同的方式处理请求。但现在我只是想解决基本问题......如何创建一个不会改变任何东西的 SOCKS 代理?

4

2 回答 2

1

我会根据您的需要研究 Squid 项目。

http://www.squid-cache.org/

GPL 许可源。

对许多好东西都非常好。

雅各布

于 2009-08-20T04:36:51.340 回答
1

构建 HTTP 代理比 SOCKS4/SOCKS5 容易得多,因为 HTTP 协议是人类可读的,而 SOCKS 协议不是。这是我几年前为体验而构建的 HTTP 代理的示例。它过去可以在旧浏览器上正常工作,现在由于无法处理持久连接而损坏,但它仍然是了解其工作原理的好来源。

也许您更愿意使用现有的 HTTP 代理软件,例如 Squid。

于 2009-08-20T04:41:02.020 回答