4


libcurl (c++) ライブラリを使用して、IIS 7.5 サーバーに要求を送信しています。トランザクションは一般的な SOAP

Web サービスです。すべて正常に動作しています。リクエストは「Expect 100-continue」フラグを送信し、サーバーは 100-continue で応答し、その後すぐに 200 ok コードと Web サービス応答を返します。

しかし、ときどき、クライアントは 100 継続メッセージを受信し、その後、別の 100 コードを受信します。これにより、サーバー 100 コードの直後に最終ステータス コードが期待されるため、クライアントはエラーを報告します。私は W3C HTTP1.1 プロトコルを読みました:

100 (Continue) 応答を送信するオリジン サーバーは、トランスポート接続を途中で終了しない限り、要求本文が受信されて処理されると、最終的に最終ステータス コードを送信する必要があります。

「最終的に」という言葉は、私を道に迷わせます。サーバーが最終ステータス コードの後に​​数 100 個のコードを送信することは可能/一般的ですか?

誰かが以前にこの問題に直面したことがある場合は、libcurl で複数の 100 応答コードを処理する方法について説明してもらえますか?

前もって感謝します

4

2 に答える 2

0

クライアントによって適切に処理されない未処理のエラーがあるためだと思われます。必ずCURLOPT_FAILONERRORフラグを設定してください。

詳細については、この SO 投稿を参照してください。

于 2014-04-02T17:08:11.663 に答える