3

私はpoco c++ ライブラリ、特に poco のHTTPServerを使用していますが、既に GET リクエストを受け取ることができます。(私は24ページ以上からこのチュートリアルに従いました)。しかし、POST リクエストの処理方法がわかりません。特に、poco を使用して POST リクエストからリクエスト本文を読み取るにはどうすればよいですか? クラスHttpServerRequeststreamのドキュメントから、メソッドをこれに使用できることを読みました。

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

ここでのメソッド呼び出しの何が問題になっていますか? 誰でも助けることができますか?または例を提供しますか?

敬具

4

1 に答える 1

1

コードの関連部分を削除したため、わかりませんが、 request -object がconstとして宣言されているために問題が発生しているようです。HTTPServerRequest::stream() は const として宣言されていないため、const オブジェクトからこのメソッドを呼び出すことはできません。

以下を確認してください: メソッド HTTPServerRequest::stream() をどこで呼び出しますか? request-object はこの場所のどこから来たのですか? 定数であると宣言されていますか (たとえば、const 関数のパラメーターとして渡されますか)。この場所で定数を宣言する必要がありますか?

ご挨拶

于 2013-08-20T07:57:00.430 に答える