HttpRequest PUT 内容在 poco 库中



我想使用 HTTP PUT 请求将一些数据从 C++ 应用程序发送到服务器。我正在使用 poco 库在我的应用程序中进行网络。

我正在使用以下代码片段:

HTTPClientSession session(_uri.getHost(), _uri.getPort());
HTTPRequest req(HTTPRequest::HTTP_PUT, path, HTTPMessage::HTTP_1_1);

发送请求时,在哪里设置内容(文件)流?谁能给我看一个使用这个库的例子?

引用

在线文档进行HTTPClientSession

sendRequest() 将返回可用于发送请求正文的输出流。发送完请求正文后,创建一个 HTTPResponse 对象并将其传递给 接收响应()。

以下代码片段显示了使用输出流读取文件的一种方法:

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;
}

另外,请查看 POCO 网络编程的幻灯片。除其他外,他们展示了如何使用HTTPClientSession .

POCO文档简洁明了;值得一读。

相关内容

  • 没有找到相关文章

最新更新