Я реализовал это с помощью HttpClient с HttpClientHandler, у которого определено свойство Credentials.
Все это работает отлично. За исключением одного из моих случаев использования, когда я выполняю аутентифицированный GET для:
Код: Выделить всё
http://somedomain.comПохоже, что HttpClientHandler очищает заголовок аутентификации во время перенаправления. Как я могу это предотвратить? Я хочу, чтобы учетные данные отправлялись независимо от перенаправлений.
Это мой код:
Код: Выделить всё
// prepare the request
var request = new HttpRequestMessage(method, url);
using (var handler = new HttpClientHandler { Credentials = new NetworkCredential(username, password) , PreAuthenticate = true })
using (var client = new HttpClient(handler))
{
// send the request
var response = await client.SendAsync(request);
Поддержание базовой аутентификации HTTP при перенаправлении
Но поскольку я использую разные классы для выполнения запроса, может быть лучшее и более конкретное решение
Подробнее здесь: https://stackoverflow.com/questions/194 ... r-redirect
Мобильная версия