別のページ (たとえば、他の Web サイトのページ) にリダイレクトすると、サーバーは http ステータス コードで応答します。すべてが OK の場合は、200 を返します。
呼び出したときResponse.Redirect
に、リモート サーバーから返される http ステータス コードを検出するにはどうすればよいですか?
ログイン データベース リダイレクトが正しく実行されたかどうかを確認します。
3 に答える
これを記述Response.Redirect(...)
すると、サイトは HTTP 302 (Moved) をクライアント ブラウザに送り返します...サーバーに関する限り、これで話は終わりです。クライアントへの接続が閉じられ、何もありません。彼らとのより多くの相互作用。
そのリソースがたまたま自分のサーバー上にある場合を除き、クライアント ブラウザーが 302 で示されるリソースをロードしたことを検出することはできません。
半意味のある方法でこれを確認できる唯一の方法は、リダイレクトの場所に対して独自の HTTP GET を発行することにより、最初に独自のコードビハインドでクライアントに代わってチェックを行う場合です...しかし、それでもは、チェックした時点でリモート リソースが利用可能だったことのみを示します。
ただし、HTTP 200 を取得したことに基づいて、クライアントもそれにアクセスできるとは言えません (ファイアウォール、接続不良、ブラックリストに登録されているため、そのリモートに 2 倍の要求負荷をかけているという問題はさておき) resource..) 正直なところ、100% 信頼できる方法ではないため、わざわざこれを行うことはお勧めしません。
できません。訪問者のブラウザを別の URL にリダイレクトします。その URL が管理しているサーバーを指していない場合、その要求がどのように行われたかを確認できません。