Macintosh/Apple Web 浏览器使用 Web API 2.0 获得 401,该 API 调用远程 URL

本文关键字:API Web URL 获得 调用 Apple 浏览器 Macintosh | 更新日期: 2023-09-27 18:36:48

我有一个Web api 2.0设置,它在内部调用远程URL,此代码适用于PC,但不适用于FireFox等Apple 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;
    }

谢谢!

Macintosh/Apple Web 浏览器使用 Web API 2.0 获得 401,该 API 调用远程 URL

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