Веб-браузеры Macintosh/Apple получают 401 с использованием веб-API 2.0, который вызывает удаленный URL
У меня есть настройка web api 2.0, которая вызывает внутреннюю удаленную ссылку, и этот код прекрасно работает с ПК, но не с браузерами Apple Mac, такими как FireFox; они получают ошибку 401. Любая помощь будет оценена!
Код в вопросе:
private static XmlDocument GetXml(string searchCriteria)
{
if (searchCriteria == null) throw new ArgumentNullException(nameof(searchCriteria));
var sUrl = "https://a_remote_classic_asp_service_layer/service.asp?";
var appendUrl = "&sh=N&sp=Y&sr=N";
string fullUrl = $"{sUrl}{searchCriteria}{appendUrl}";
string searchParms = $"{searchCriteria}{appendUrl}";
var document = new XmlDocument();
document.PreserveWhitespace = false;
using (((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate())
{
var request = WebRequest.Create(fullUrl);
request.Credentials = CredentialCache.DefaultCredentials;
request.UseDefaultCredentials = true;
request.PreAuthenticate = true;
using (var stream = request.GetResponse().GetResponseStream())
{
if (stream == null) return document;
using (var reader = XmlReader.Create(stream))
{
document.Load(stream);
}
}
}
return document;
}
Спасибо!
1 ответ
Хорошо, понял это. Каждый браузер должен был быть настроен по-разному на Apple Mac, и эти обновления конфигурации будут выдаваться в сценариях для устранения проблем. Протестировал это на моей версии OSX Mavericks и все браузеры (Safari, Chrome, Firefox) работали нормально.