【发布时间】:2014-07-28 16:01:00
【问题描述】:
我需要获取 AngularJS 用来发送 HTTP 请求的 User-Agent 标头。当我使用 Internet Explorer 时,在 Fiddler 中我看到请求中发送的用户代理等于:
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
但是,当我使用navigator.userAgent 获取用户代理时,它会返回:
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
我在 HTML <head> 中添加了 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 标记,希望能解决问题,但事实并非如此。我还尝试过启用和禁用 Intranet(在本例中为本地主机)站点的兼容性视图。
背景:用户代理正在通过查询字符串(连同查询字符串中的身份验证令牌)传递给 Windows 单击一次应用程序。 Windows 应用程序需要使用与 AngularJS 应用程序相同的身份验证令牌和用户代理,否则如果用户代理不同,HTTP API 调用会导致 401。 Windows 应用不应要求用户登录,并且应使用与浏览器用户相同的身份验证上下文。
如何获取我在 Fiddler 中观察到的实际发送的 User-Agent?
【问题讨论】:
-
嗨@kindohm,我们的系统也遇到了同样的问题...您找到适合您的解决方案了吗?感谢您与我们分享...谢谢!
标签: javascript angularjs internet-explorer http-headers user-agent