【发布时间】:2017-06-29 06:29:51
【问题描述】:
我尝试在下面的代码中使用 Post 方法。在服务器端,主体总是空的。
tcp::endpoint ip_port(address::from_string(host), port);
socket.connect(ip_port);
boost::asio::streambuf request;
std::ostream request_stream(&request);
request_stream << "POST /myservice HTTP/1.1\n\n";
request_stream << "Host:" << "host:port" << "\r\n";
request_stream << "User-Agent: C/1.0" << "\r\n";
request_stream << "Content-Type: application/json; charset=utf-8\r\n";
request_stream << "Accept: */*\r\n";
request_stream << "Content-Length: ";
request_stream << json.length() + "\r\n";
request_stream << "Connection: close\r\n\r\n";
request_stream << json;
boost::asio::write(socket, request);
我通过从其他休息客户端发送请求来检查服务器端,它工作正常。请让我知道我做错了什么。
【问题讨论】:
-
也许在
boost::asio::write之前添加request_stream << std::flush;。 -
@Mankarse 试过了,遇到同样的问题。