2

現在、curlpp を使用して HTTP クエリを実行していますが、URL に不正な文字が含まれていると curlpp が報告しています。URL の問題を、構成ファイルから読み取られている変数に絞り込みました (1 行に、必要な情報が含まれているだけです)。もう 1 つの奇妙な点は、これが Fedora x64 ビット インストールでのみ発生することです (他の x64 ビット ディストリビューションは試していません)。私の 2 台の開発用マシン (Ubuntu と OpenSuse、32 ビット) では問題なく動作します。ファイルから読み取った文字の ASCII コードを印刷してみましたが、すべて正常に見えますが、文字列の末尾に改行文字があります。現在、この文字はすべてのシステムで発生しますが、Fedora システムでは不正な文字として報告されています。

curlpp に改行文字を強制的に無視させるオプションがあるかどうか疑問に思っていました。また、curl_easy_escape 関数を使用して文字列をエスケープしようとしましたが、改行文字がパーセント エンコーディング %0A に変換されます。これは、HTTP サーバーによって既存の URL として認識されません (404 エラーが出力されます)。

以前にこの問題に遭遇した人はいますか? この文字を無視することは可能ですか、それとも単に置き換えるのが最善の方法ですか?

よろしくお願いします。

よろしくお願いします、

PS: すべてのシステムで、ライブラリのバージョンは同じです (これはやや奇妙です)。curlpp のバージョンは (0.7.3) です。

編集: 一般的な要求により、ファイルから変数を読み取るコードを投稿しています。

  std::ifstream keyfile (pathToFile.c_str());
  std::stringstream buffer;
  buffer << keyfile.rdbuf ();
4

1 に答える 1