5

OK、クライアントがサーバーにデータを POST 送信しています。サーバーは投稿を受け取り、リダイレクトで応答します。問題は、クライアントがリダイレクトしないことです。また、クライアントが取得するレスポンスの StatusCode を確認してみましたが、常に同じ「OK」です。リダイレクト コードの代わりに。私は何が欠けていますか?

クライアント側では、次のようなものがあります。

  StringBuilder sb;
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/serv/Default.aspx");
            request.Method = "POST";                

        byte[] data = Encoding.ASCII.GetBytes(GetDATA());

        request.ContentType = "text/xml";
        request.ContentLength = data.Length;
        Stream stream = request.GetRequestStream();
        stream.Write(data, 0, data.Length);

        request.AllowAutoRedirect = true;
        request.MaximumAutomaticRedirections = 10;

        HttpWebResponse response = (HttpWebResponse) request.GetResponse();
            response.Close(); } catch(Exception ex) {}

サーバー側には、次の行だけがあります。

HttpContext.Current.Response.Redirect("http://www.google.com", true);

この場合、クライアントは応答を受け取り、何もしません。

ありがとう。

4

1 に答える 1

6

"AllowAutoRedirect" を true に設定すると、HttpWebRequest オブジェクトがリダイレクトを確認すると、2 番目の Web リクエストを作成することを意味します。応答オブジェクトから「200 OK」が表示されるのは、「www.google.com」に対する応答が表示されているためです。Response.ResponseURI をチェックして、これを確認できます。

「AllowAutoRedirect」をオフにしてから、Oded が言ったように応答コードを確認する必要があります。

于 2010-02-08T15:54:23.393 に答える