私はFastCGI(およびrestcgi)を使用して簡単なRESTful APIを開発しようとしています。 POSTメソッドを実装しようとすると、入力ストリーム(要求本体を表す)が間違っていることに気付きました。私は少しのテストをして、ストリームを読み込もうとすると、他のすべてのキャラクターだけが受け取られたように見えます。送信されfastcgiからの入力ストリームに文字がありません
ボディ:受信name=john&surname=smith
:私はちょうどそれがデータをいじりクライアントではありませんを確認するために、より多くのクライアントを試してみたaejh&unm=mt
。 私のコードは次のとおりです。
int main(int argc, char* argv[]) {
// FastCGI initialization.
FCGX_Init();
FCGX_Request request;
FCGX_InitRequest(&request, 0, 0);
while (FCGX_Accept_r(&request) >= 0) {
// FastCGI request setup.
fcgi_streambuf fisbuf(request.in);
std::istream is(&fisbuf);
fcgi_streambuf fosbuf(request.out);
std::ostream os(&fosbuf);
std::string str;
is >> str;
std::cerr << str; // this way I can see it in apache error log
// restcgi code here
}
return 0;
}
私は(それが何の違いを行う場合わからない)Apacheでfast_cgiモジュールを使用しています。
私は間違って何を考えていますか?
は1秒ごとに符号化の問題があるようです(16/8ビット) – stacker
どのようにですか? 2Bを1つの文字として解釈していた場合、その文字は別のものになりますが、私の場合は正しいです... – Tom