如何从POST请求中读取正文

时间:2013-08-20 07:27:09

标签: c++ http http-post poco-libraries

我正在使用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

我的方法调用出了什么问题? 有人可以帮忙吗?或提供一个例子?

亲切的问候

1 个答案:

答案 0 :(得分:1)

我不确定,因为您删除了代码的相关部分,但问题似乎发生是因为您的请求 - 对象被声明为 const 。 HTTPServerRequest :: stream()未声明为const,因此不允许您从const对象调用此方法。

请查看以下内容:您在哪里调用HTTPServerRequest :: stream()方法?请求对象来自这个地方的哪里?它被声明为常量(例如作为const函数参数传递)?是否必须在这个地方宣布不变?

问候