0

HTTP302を使用してURIがリダイレクトするURLを見つけようとしています

たとえば、 http://www.google.comにリダイレクトするWebページhttp://www.example.com/pagenothere.phpがあります。

メソッドを使用して詳細を取得しようとしましたが、応答コードまたはリダイレクトURLを見つけることができませんでした。

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlString);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        request.Accept = "text/plain";

        MessageBox.Show("Response headers");
        MessageBox.Show("  Protocol version: " + response.ProtocolVersion);
        MessageBox.Show("  Status code: " + response.StatusCode);
        MessageBox.Show("  Status description: " + response.StatusDescription);
        MessageBox.Show("  Content encoding: " + response.ContentEncoding);
        MessageBox.Show("  Content length: " + response.ContentLength);
        MessageBox.Show("  Content type: " + response.ContentType);
        MessageBox.Show("  Last Modified: " + response.LastModified);
        MessageBox.Show("  Server: {0}", response.Server);
        MessageBox.Show("  Length using method: {0}\n", response.GetResponseHeader("Content-Length"));
4

2 に答える 2

1

AllowAutoRedirect をオフにしてみてください。これにより、リダイレクト応答を確認できるようになります。

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect.aspx

于 2012-07-01T16:29:27.963 に答える
0

リダイレクトの場所は、応答の Location ヘッダーで返されます。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.htmlの 14.30 を参照してください。

于 2012-07-01T16:21:14.580 に答える