私は次のように基本的なインライン資格情報を使用してURLには、HttpWebRequestを送信する必要があります。HttpWebRequestのHTTPの作成://ユーザー:パスワード@のdoamin /クエリURL
http://user:[email protected]/query
私はURLを設定しようとしたがそのままでは、それは信用証明書(403を持っている)を渡すように見えませんでした。
request.Credentials = new NetworkCredentials("username","pasword")
そして(http://domain/query
が得られる)のURLからそれらを削除するが、それでも同じ結果(403)を得た:
は、HttpWebRequestののCredentialsプロパティを設定しようとしました。
任意のブラウザから直接URLを使用すると、資格情報がOKになります。
私には何が欠けていますか?
[UPDATE - ANSWER]
ここでは私のために働いたコードだ:
string credentials = "username:password";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(formattedUrl);
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials)));
request.PreAuthenticate = true;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
あなたが提案したコードを試してみましたが、うまくいきませんでした。フィドラーとのリクエストを見て、私は信用状が送信されたのを見ていません... – sternr
面白いことに、ウリは次の構造を使用して作成します。http://を使わずにUriを作成しようとする "http://www.domain.com"接頭辞が失敗しました – sternr