【问题标题】:Perform a simple HTTP request using C++ / Boost via a proxy?通过代理使用 C++/Boost 执行简单的 HTTP 请求?
【发布时间】:2009-09-16 01:43:04
【问题描述】:

我是 Boost 的新手,我唯一通过使用库的代理进行冲浪的经验是使用 .NET(这对于此目的非常方便)。我现在正在尝试通过 HTTP 代理执行一个简单的 HTTP 请求。

有没有直接使用 boost 的简洁方法?

我的代理使用 NTLM 身份验证。

【问题讨论】:

    标签: c++ http boost proxy request


    【解决方案1】:

    不,Boost 既不提供 HTTP 客户端,也不提供与代理接口的方式。您必须自己实现这些功能。

    明确地说,是的,可以使用 Boost.Asio 实现 HTTP 客户端。但是实现一个可以通过代理进行可靠通信的客户端要复杂得多,并且 Asio 不提供任何超出低级套接字本身的支持。它当然不包括执行 NTLM 身份验证的框架,这可能很难做到。

    cURL 等更复杂的库提供了这种支持。

    【讨论】:

    • 致反对者:代码示例!= API 提供的支持。 Boost::ASIO 使实现 HTTP 客户端变得简单,但它没有提供完整的 HTTP 客户端,更不用说支持代理的客户端,正如问题所具体要求的那样。此外,我的答案是在 1.40 是最新的稳定版本时发布的。
    • @anno: 提供一个套接字并不等同于一个 HTTP 请求。套接字使发出 HTTP 请求变得简单(r),但您仍然需要了解 HTTP 协议才能使用套接字。难道他们就没有一个简单的实用程序类来包装功能吗?
    • 我不确定我是否在关注,学习 HTTP 请求就像学习用于发出请求的新 API (en.wikipedia.org/wiki/…) 一样简单。
    • @anno - 发送 HTTP 请求不仅仅是标头等。发现代理,运行 PAC,然后对代理进行身份验证是一个巨大的挑战。使用 asio 填充一些标头和有效负载的简单实现在大多数公司环境中都行不通。
    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 2014-07-04
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多