Мне нужно отправить 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();