44

我正在寻找一个实现或启用 HTTP 客户端实现的 C++ 库。它也应该处理 cookie。

你会提出什么建议?

4

8 回答 8

35

Curl++ : 是一个选项,特别是如果你想要更多 C++ 风格的东西。

cpp-netlib:非常好用且简单易用,可在 ubuntu 上使用

sudo apt-get install libcppnetlib-dev

例子:

using namespace boost::network;
using namespace boost::network::http;

client::request request_("http://127.0.0.1:8000/");
request_ << header("Connection", "close");
client client_;
client::response response_ = client_.get(request_);
std::string body_ = body(response_);
于 2009-05-04T23:21:09.300 回答
17

看看Poco 图书馆

我开始使用它们是因为它们是便携的,而且使用起来很愉快。简单而干净——虽然我暂时还没有深入研究任何花哨的东西。

于 2009-07-31T12:13:25.763 回答
15
于 2009-05-04T23:21:02.373 回答
12

默认情况下,C++ (STL) 没有 HTTP 或网络库,您将不得不处理其他事情。

libcurl应该做你想做的事。cURL++是包装在闪亮的 C++ 包装器中的同一个 libcurl。

于 2009-05-04T23:21:45.943 回答
3

你可以试试WinInet

http://msdn.microsoft.com/en-us/library/aa385331(VS.85).aspx

与 WinHTTP 相比,它更面向客户端。

于 2009-05-05T05:44:38.720 回答
2

如果是用于 Windows,请查看 Windows HTTP 服务 (WinHTTP)

http://msdn.microsoft.com/en-us/library/aa384273(VS.85).aspx

Microsoft Windows HTTP 服务 (WinHTTP) 为开发人员提供了一个 HTTP 客户端应用程序编程接口 (API),以通过 HTTP 协议将请求发送到其他 HTTP 服务器。

WinHTTP 提供适用于基于 Active Server Pages (ASP) 的应用程序的 C/C++ 应用程序编程接口 (API) 和组件对象模型 (COM) 自动化组件。

对于 Cookie http://msdn.microsoft.com/en-us/library/aa383261(VS.85).aspx

于 2009-05-05T02:05:28.390 回答
2

所有替代库都在这里可用,如果您需要复杂的 http API,请尝试 curl,如果只想获取文件,请尝试 http-tiny

http://curl.haxx.se/libcurl/competitors.html

于 2012-03-27T09:53:30.033 回答
1

IWebBrowser2在 Windows 上,您可以使用界面驱动 IE 。

于 2009-05-04T23:33:46.193 回答