我正在使用poco c++ libraries,尤其是来自poco的HTTPServer,我已经能够收到GET请求了。 (我遵循了第24页以上的this教程)。但我无法弄清楚如何处理POST请求,特别是,我如何从POST请求中读取请求体与poco?从课程HttpServerRequest的文档中我读到可以使用方法stream
:
virtual std::istream & stream() = 0;
Returns the input stream for reading the request body.
好吧,在我的代码中我想把这个方法称为:
std::istream& istr = request.stream();
但我收到错误:
error: passing 'const Poco::Net::HTTPServerRequest' as 'this' argument of 'virtual std::istream& Poco::Net::HTTPServerRequest::stream()' discards qualifiers
我的方法调用出了什么问题? 有人可以帮忙吗?或提供一个例子?
亲切的问候
答案 0 :(得分:1)
我不确定,因为您删除了代码的相关部分,但问题似乎发生是因为您的请求 - 对象被声明为 const 。 HTTPServerRequest :: stream()未声明为const,因此不允许您从const对象调用此方法。
请查看以下内容:您在哪里调用HTTPServerRequest :: stream()方法?请求对象来自这个地方的哪里?它被声明为常量(例如作为const函数参数传递)?是否必须在这个地方宣布不变?
问候