Я использую версию 0.11 cpp-netlib с boost 1.55 и хочу создать объект запроса с такими строками:
#include <iostream>
#include <boost/network/protocol/http/client.hpp>
#include <boost/network/uri.hpp>
#include <boost/network/uri/uri_io.hpp>
using namespace boost::network;
typedef http::basic_client< http::tags::http_default_8bit_tcp_resolve ,1,1> httpClient;
int main() {
uri::uri url = std::string("http://www.abcs.de/");
httpClient::request req;
req << header("Content-Type", "application/x-www-form-urlencoded");
req << url; // THIS LINE DOESN'T COMPILE
}
Если я прочитал документацию (Вот) правильно, эта строка для установки URL запроса должна работать, но я получаю только
/usr/local/include/boost/network/protocol/http/request.hpp: In instantiation of ‘boost::network::http::basic_request<Tag>& boost::network::http::operator<<(boost::network::http::basic_request<Tag>&, const Directive&) [with Tag = boost::network::http::tags::http_default_8bit_tcp_resolve; Directive = boost::network::uri::uri]’:
src/receiver.h:33:11: required from here
/usr/local/include/boost/network/protocol/http/request.hpp:71:26: error: no match for call to ‘(const boost::network::uri::uri) (boost::network::http::basic_request<boost::network::http::tags::http_default_8bit_tcp_resolve>&)’
directive(message);
Для httpClient :: запроса объекта есть метод-член для установки URL
req.uri( url )
работает