【问题标题】:HTTP proxy serverHTTP 代理服务器
【发布时间】:2010-12-16 14:45:25
【问题描述】:

我开始使用 C 编写的一个非常基本的 HTTP 代理服务器(编辑: 只是转发我的请求的东西)。在这一点上,我很难理解如何进行。

任何帮助都是有益的。

【问题讨论】:

  • 什么时候?你被困在哪里了?
  • 我认为第一步是记录需求。

标签: c http http-proxy proxy-server


【解决方案1】:

看看micro_proxy。它实现了 HTTP/HTTPS 代理的所有基本功能,仅需 260 行 C 代码。

另一个非常简单的实现可以在Proxy找到。

【讨论】:

  • 谢谢!它们是有用的链接。
【解决方案2】:

什么协议的代理服务器?在不知不觉中,开始编码并不是最有益的下一步。

在您决定实现什么协议之后,您(可能)需要阅读套接字 API。

一旦完成,就有三个主要路线可供选择,使用基于轮询/选择的循环、分叉每个会话进程或使用线程来打乱数据。

【讨论】:

  • 它是一个 HTTP 代理,我知道套接字 API。
  • 奇怪。 Ankit 和 Alex Xander 实际上是同一个人吗?
  • @Vatine 您的 3 条主要路线与创建代理有何关系?
  • @Howiecamp 代理需要读取数据并继续发送。为此,您可以在循环中使用 poll/select 来收集数据,或者您可以在分叉进程或单独线程中使用单个“读取,然后写入”循环。