【解決方法】http ヘッダーを使用した Response.redirect


httpheaderを追加して他のWebアプリケーションにリダイレクトしました。
リモートWebアプリケーションでrequest.headerをチェックするとnullでした。

ヘッダーを他の Web アプリケーションに送信する方法を提案してください。

私が試したサンプルコード。

C#
response.headers.add("test", "1234");
response.redirect("http://someothersite/test.aspx");

しかし、別のサイト/test.aspxでは
リクエストヘッダー[“test”] 無効である。

解決策 1

うーん、ここではある種の深い誤解が起こっているようです。 応答ヘッダーはサーバーからクライアントに送信され、そのクライアントは通常、IE、FF、Chrome などのブラウザーです。ヘッダーは、受信側が正しく解釈できる場合にのみ意味を持ちます。 送信するときは、 Response.Redirect また、テストのようなヘッダーを設定すると、ブラウザーはこのヘッダーを現在リダイレクトしているサイトに転送しません。 ブラウザがリダイレクトするサイトに何らかのパラメータを絶対に渡したい場合は、そのパラメータを URL パラメータとして渡す必要があります。

同様に、リクエスト ヘッダーは、ブラウザが現在のリクエストに関する情報をサーバーに返すために使用する情報です。 この情報は、リクエストを正しく解釈するためにサーバー上で使用されます。

ご不明な点がございましたら、コメントを残していただければ詳しく説明させていただきます。

よろしく、

マンフレッド

解決策 3

HTML
<form action="http://url.goes.here" id="test" method="GET"></form>

JavaScript
<script type="text/javascript">
  document.getElementById("test").submit();
</script>

コードビハインドからトリガーする必要がある場合は、それも行うことができます。

C#
Response.Write( @"<form action="http://url.goes.here" id="test" method="GET"></form>

C#
<script type="text/javascript">
   document.getElementById("test").submit();
</script> ");

コメント

タイトルとURLをコピーしました