Create a HttpWebRequest for a http://user:password@doamin/query Url

Мне нужно отправить HttpWebRequest на url с основными встроенными учетными данными следующим образом:

http://user:password@doamin/query

Я пробовал установить Url как есть, но это не передало учетные данные (получил 403).

request.Credentials = new NetworkCredentials("username","pasword")

Попробовал установить свойство Credentials в HttpWebRequest:

request.Credentials = new NetworkCredentials("username","pasword")

и удалить их из url (в результате http://domain/query), но все равно получил тот же результат (403).

Использование Url напрямую из любого браузера прошло успешно, так что учетные данные в порядке.

Что я упускаю?

[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();
7
задан sternr 29 December 2011 в 12:47
поделиться