avhttp是一個基於Boost.Asio實現的C++ HTTP客戶端開發庫。它支持HTTP(1.0/1.1)、HTTPS,斷點續傳,多線程並發下載,異步,HTTP/SOCKS4&5代理支持等特性,開發者可以輕松的使用這個庫開發網絡應用。
示例:
#include <iostream>
#include <boost/array.hpp>
#include "avhttp.hpp"
int main()
{
boost::asio::io_service io;
avhttp::http_stream h(io);
boost::system::error_code ec;
// 打開url.
h.open("http://www.boost.org/LICENSE_1_0.txt", ec);
if (ec) // 打開失敗處理...
{
std::cout << "Error: " << ec.message() << std::
endl;
return -1;
}
boost::array<char, 1024> buf;
// 循環讀取數據.
while (!ec)
{
std::size_t bytes_transferred = h.read_some(
boost::asio::
buffer(buf), ec);
// 將下載的數據打印到屏幕.
std::cout.write(buf.data(), bytes_transferred);
}
std::cout.flush();
h.close(ec); // 關閉.
io.run();
return 0;
}