0

別のページ (たとえば、他の Web サイトのページ) にリダイレクトすると、サーバーは http ステータス コードで応答します。すべてが OK の場合は、200 を返します。
呼び出したときResponse.Redirectに、リモート サーバーから返される http ステータス コードを検出するにはどうすればよいですか?
ログイン データベース リダイレクトが正しく実行されたかどうかを確認します。

4

3 に答える 3

0

これを記述Response.Redirect(...)すると、サイトは HTTP 302 (Moved) をクライアント ブラウザに送り返します...サーバーに関する限り、これで話は終わりです。クライアントへの接続が閉じられ、何もありません。彼らとのより多くの相互作用。

そのリソースがたまたま自分のサーバー上にある場合を除き、クライアント ブラウザーが 302 で示されるリソースをロードしたことを検出することはできません。

半意味のある方法でこれを確認できる唯一の方法は、リダイレクトの場所に対して独自の HTTP GET を発行することにより、最初に独自のコードビハインドでクライアントに代わってチェックを行う場合です...しかし、それでもは、チェックした時点でリモート リソースが利用可能だったことのみを示します。

ただし、HTTP 200 を取得したことに基づいて、クライアントもそれにアクセスできるとは言えません (ファイアウォール、接続不良、ブラックリストに登録されているため、そのリモートに 2 倍の要求負荷をかけているという問題はさておき) resource..) 正直なところ、100% 信頼できる方法ではないため、わざわざこれを行うことはお勧めしません。

于 2013-10-02T09:59:56.433 に答える
0

できません。訪問者のブラウザを別の URL にリダイレクトします。その URL が管理しているサーバーを指していない場合、その要求がどのように行われたかを確認できません。

于 2013-10-02T08:22:34.167 に答える