2011-12-09 8 views
0

サーバーが302の別の不明な場所にリダイレクトする場合、HttpWebRequest.GetResponseを使用しようとしています。サーバーが不明な場所にリダイレクトするときのHttpWebRequest.GetResponse

リダイレクトターゲットはそれが

CredentialCache cache = new CredentialCache(); 
cache.Add(new Uri("http://xyz.com"), "Basic", netWorkCredential); 

を次のように私たちは、私は明らかに働いていないこのことからいくつかの情報(building a credentialcache for httpwebrequest when redirection is unknown)を得たconfigurationCacheを使用することができますwww.xyz.comも聞かせて知られている場合。

しかし、ターゲットが不明な場合は、401 Unauthorizedエラーが発生しています。 this articleから別のオプションがあり、ヘッダーから場所を取得して別の呼び出しを行っています。

私はここに他のオプションがありますか?私が明確でないかどうか教えてください。

答えて

1

私は最良の選択肢は、応答の場所ヘッダーから新しい場所を取得し、新しいURLに新しい要求を行うことです。これがブラウザの仕組みです。 HTTPステータスコード302および301(永続的に移動した)を受信すると、新しい場所を新しく要求します。

+0

+1情報です。そしてそれは最悪の場合に私たちがやっていることです。しかし、一回の呼び出しで何かできることはありますか? – Prakash

+0

あなたの問題は新しい場所にリダイレクトされる場所にあり、リソースにアクセスする前に認証を受ける必要があると思います。 なぜ私はあなたがキャッシュされた資格情報(キー値ペア:ドメイン、資格情報)を構築するのを見ますか?上記のプロセスを使用しても、リソースに認証が必要な場合は、401の不正なエラーが発生することがあります – Anand

関連する問題