0

URL に POST を実行するコードがあります。コードはsetFixedLengthStreamingModePOST の長さを事前に知っているため、これを使用します。場合によっては、ストリーミング モードが有効になっているため、URL が別の場所にリダイレクトされる可能性があります。リダイレクトに従うことができません。実際にデータを投稿する前に、URL がリダイレクトされているかどうかを確認する方法はありますか? それとも、間違った方向に考えていますか?

4

1 に答える 1

1

一般的に、いいえ、ありません。通常の Web ユース ケースでは、送信フォームからの POST リクエストの後に、ベスト プラクティスに従って常にリダイレクトを取得する必要がありますが、これは保証されているとは言えません。たとえば、データが類似している場合はリクエストを実行し、それ以外の場合はリクエストを実行できません。常にエラーで失敗する可能性があります。

一部の限られたユースケースでは、常に従うロジックがある場合がありますが、それはケースバイケースです。

ドキュメントから:

出力ストリーミングが有効になっている場合、認証とリダイレクトを自動的に処理することはできません。認証またはリダイレクトが必要な場合、応答を読み取るときに HttpRetryException がスローされます。この例外は、エラーの詳細について照会できます。

したがって、リダイレクトは自動的に処理されませんが、事前にリダイレクトを実際に確認することはできませんが、例外をキャッチしてそれに基づいて自分で手順を実行することができます。

于 2012-09-20T08:16:18.730 に答える