Tam*_*nut 7 networking http stream poco-libraries
我想使用HTTP PUT请求将一些数据从C++应用程序发送到服务器.我在我的应用程序中使用poco库进行联网.
我正在使用此代码段:
HTTPClientSession session(_uri.getHost(), _uri.getPort());
HTTPRequest req(HTTPRequest::HTTP_PUT, path, HTTPMessage::HTTP_1_1);
Run Code Online (Sandbox Code Playgroud)
发送请求时,我在哪里设置内容(文件)流?有人能告诉我一个使用这个库的例子吗?
引述在线文档为HTTPClientSession:
sendRequest()将返回可用于发送请求正文的输出流.完成发送请求主体后,创建一个HTTPResponse对象并将其传递给receiveResponse().
以下代码段显示了使用输出流读取文件的一种方法:
try {
Poco::Net::HTTPClientSession session("www.example.com");
Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_PUT, "/foo");
std::ostream& os = session.sendRequest(request);
std::ifstream ifs("thefile.txt"); // missing: error handling
Poco::StreamCopier::copyStream(ifs, os); // that's it :-)
Poco::Net::HTTPResponse response;
std::istream& rs = session.receiveResponse(response);
// Do something with rs...
} catch (Poco::Exception& e) {
std::cout << e.displayText() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
另外,请查看POCO网络编程的幻灯片.除其他外,他们展示了如何使用HTTPClientSession.
POCO文档简洁明了; 值得一读.
| 归档时间: |
|
| 查看次数: |
6110 次 |
| 最近记录: |