我应该使用什么C ++库来实现HTTP客户端?

时间:2009-05-04 23:18:00

标签: c++ http client

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

你会建议什么?

8 个答案:

答案 0 :(得分:27)

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_);

答案 1 :(得分:18)

看看Poco Libraries

我开始使用它们,因为它们是便携式的,使用起来很愉快。简单而干净 - 虽然我暂时没有想过任何想象的东西。

答案 2 :(得分:12)

答案 3 :(得分:10)

默认情况下,C ++(STL)没有HTTP或网络库,您将需要处理其他内容。

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

答案 4 :(得分:2)

你可以试试WinInet

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

与WinHTTP相比,它更侧重于客户端。

答案 5 :(得分:1)

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

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

  

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

     

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

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

答案 6 :(得分:1)

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

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

答案 7 :(得分:0)

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