0

我目前正在开发一个项目,该项目对其需要的数据执行大量 HTTP 请求。它的工作原理是将所有数据写入缓冲区,然后将该缓冲区返回给调用者。似乎等待整个文件下载基本上可以流式传输的数据是一个坏主意。

问题 1:是否已经有一个库/公共代码可以发出 HTTP 和经过身份验证的 HTTP 请求作为流工作?

问题2:如果没有这样的库,为什么不呢?有没有理由从来不需要这样的东西?

4

4 回答 4

1

boost::asio做到这一点并不难,但据我所知,它没有内置 HTTP 协议(​​而且我想不出有这样的库,或者为什么不),因此您必须编写标题/正文解析(可能很乏味且容易出错)。

一些谷歌搜索对此进行了一些尝试,就像这样

于 2009-06-18T18:50:45.147 回答
1

有许多处理 http 请求的 C 库,它们使用 C 而不是 C++ 的原因仅仅是因为 C++ 可以轻松使用 C 库,但反之则不然。

因此,C 库在两个领域都很有用......

libwww是用于 http 函数的 W3C 库。

Curl也有一个带有 C++包装器项目的库。

于 2009-06-18T19:00:39.420 回答
0

我不知道现有的库,但是用Boost.Iostreams包装Curl(或WinInet,如果那是你的一杯茶的话)应该不会太难。

于 2009-06-18T19:06:41.203 回答
0

这似乎是您正在寻找的:

http://sourceforge.net/projects/urdl/

于 2009-08-10T03:09:46.907 回答