Boost :: Asio HTTP帖子中的空身体
Empty body in Boost::ASIO HTTP POST
我尝试使用以下代码使用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.1nn";
request_stream << "Host:" << "host:port" << "rn";
request_stream << "User-Agent: C/1.0" << "rn";
request_stream << "Content-Type: application/json; charset=utf-8rn";
request_stream << "Accept: */*rn";
request_stream << "Content-Length: ";
request_stream << json.length() + "rn";
request_stream << "Connection: closernrn";
request_stream << json;
boost::asio::write(socket, request);
我通过从其他REST客户端发送请求来检查服务器端,它可以正常工作。请让我知道我做错了什么。
最后,我找到了它。第一行中的 n n的问题。如果有两个 n,请求结束。我尝试了以下代码,并且能够将JSON主体放在服务器端。
requestStream << "POST " << "/myservice" << " HTTP/1.1rn";
requestStream << "Host: " << "myhost" << "rn";
requestStream << "Accept: application/jsonrn";
requestStream << "Content-Type: application/json; charset=UTF-8rn";
requestStream << "Content-Length: " << json.length() << "rn";
requestStream << "rn";
requestStream << json << "nn";
相关文章:
- 如何使用C++和Boost Asio从HTTP发布请求中获取键值
- 在C ++ ASIO中,如何为HTTP或HTTPS创建相同的套接字对象(接口/抽象问题?
- 断开连接后重新连接boost beast(asio)websocket和http连接时出错
- 我可以使用 Boost.Asio 和 Boost.Beast 库发出 HTTPS 请求或 HTTP/2 请求吗?
- Boost :: Asio HTTP帖子中的空身体
- 使用带有SSL(HTTPS)的Boost-Beast(ASIO)HTTP客户端
- 浏览器将随机HTTP消息正文发送到我的boost.asio服务器.我可以更改此设置吗?
- boost::asio http 服务器无法向 Postman 返回有效响应
- 为什么这C++ASIO,当执行HTTP / SSL请求时,BEAST服务器会进入错误状态
- Boost asio library for networking (http client)
- 基于BOOST :: ASIO-慢慢http客户端 - (转移块)
- 使用Fiddler拦截Boost.Asio HTTP/S请求
- boost::asio http客户端停止工作,我不知道为什么
- Boost ASIO HTTP client POST
- Boost::Asio HTTP服务器速度极慢
- Boost.Asio HTTP library
- 助推asio HTTP服务器,如何停止
- 为什么我的c++ Boost ASIO HTTP客户端返回不完整的响应
- 链接器错误LNK2019在boost asio http客户端代码
- 使用 helgrind 提升 asio http async_client示例警告:误报