C# Macintosh/Apple网络浏览器通过调用远程URL的WebAPI2.0获得401

C# Macintosh/Apple网络浏览器通过调用远程URL的WebAPI2.0获得401,c#,asp.net-web-api2,defaultnetworkcredentials,C#,Asp.net Web Api2,Defaultnetworkcredentials,我有一个WebAPI2.0设置,在内部调用一个远程url,这段代码在PC上运行得很好,但在FireFox等苹果Mac浏览器上却不行;他们得到了一个401错误。任何帮助都将不胜感激 有关守则是: private static XmlDocument GetXml(string searchCriteria) { if (searchCriteria == null) throw new ArgumentNullException(nameof(searchC

我有一个WebAPI2.0设置,在内部调用一个远程url,这段代码在PC上运行得很好,但在FireFox等苹果Mac浏览器上却不行;他们得到了一个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;
    }

谢谢

好的,把这个弄明白了。每个浏览器必须在苹果Mac上进行不同的配置,这些配置更新将在脚本中推出以解决问题。在我的OSX Mavericks版本上进行了测试,所有浏览器(Safari、Chrome、Firefox)都运行良好