Questions tagged «user-agent»

用户代理是代表用户运行的软件(软件代理)。该术语通常用于指代浏览器和其他发送网络请求的软件。在HTTP协议中,用户代理使用用户代理字符串向服务器标识自己。用户代理字符串是HTTP请求标头中的字符串,用于标识浏览器,版本,设备,操作系统以及有关发出请求的设备的其他信息。


16
自动检测移动浏览器(通过用户代理?)
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 改善这个问题 如何检测用户是否正在通过移动Web浏览器查看我的网站,以便随后可以自动检测并显示适当版本的网站?

12
OAuth 2中隐式授予授权类型的目的是什么?
我不知道我是否只有某种盲点或什么盲点,但是我已经多次阅读了OAuth 2规范并仔细阅读了邮件列表档案,而且我还没有找到关于为何使用“隐式授予”的很好的解释。已经开发了获取访问令牌的流程。与“授权代码授予”相比,它似乎没有太多令人信服的理由就放弃了客户端身份验证。如何“针对使用脚本语言在浏览器中实现的客户端进行优化”(引用规范)? 两种流程的开始都是相同的(来源:http : //tools.ietf.org/html/draft-ietf-oauth-v2-22): 客户端通过将资源所有者的用户代理定向到授权端点来启动流程。 授权服务器(通过用户代理)对资源所有者进行身份验证,并确定资源所有者是授予还是拒绝客户端的访问请求。 假设资源所有者授予访问权限,授权服务器使用之前(在请求中或在客户端注册期间)提供的重定向URI将用户代理重定向回客户端。 重定向URI包含授权码(授权码流) 重定向URI在URI片段中包含访问令牌(隐式流) 这是人流分裂的地方。在这两种情况下,重定向URI都指向客户端托管的某个端点: 在授权代码流中,当用户代理使用URI中的授权代码访问该端点时,该端点处的代码将授权代码及其客户端凭据交换为访问令牌,然后可以根据需要使用该访问令牌。例如,它可以将其写入网页上的脚本可以访问的网页。 隐式流程完全跳过了此客户端身份验证步骤,仅使用客户端脚本加载网页。URL片段在这里有一个可爱的技巧,可以防止访问令牌传递过多,但是最终结果基本上是相同的:客户端托管的站点提供了一个页面,其中包含一些可以捕获访问令牌的脚本。 。 因此,我的问题是:跳过客户端身份验证步骤在这里获得了什么?

30
在JavaScript中检测IE版本(v9之前的版本)
如果他们使用的是Internet Explorerv9之前的版本,我想将我们网站的用户退回至错误页面。只是不值得我们花费时间和金钱来支持IE pre-v9。使用其他所有非IE浏览器的用户都可以使用,并且不应被退回。这是建议的代码: if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE var badBrowser=( navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too ); if(badBrowser){ // navigate to error page } } 这段代码会成功吗? 拒绝一些可能会以我的方式发表的评论: 是的,我知道用户可以伪造useragent字符串。我不担心 是的,我知道编程专家更喜欢嗅探功能支持而不是浏览器类型,但在这种情况下,我认为这种方法不可行。我已经知道所有(相关)非IE浏览器都支持我需要的功能,而所有pre-v9 IE浏览器都不支持。在整个站点中逐个功能地检查将是浪费。 是的,我知道有人尝试使用IE v1(或> = 20)访问该网站不会将'badBrowser'设置为true,并且警告页面也无法正确显示。这是我们愿意承担的风险。 是的,我知道Microsoft具有可用于精确浏览器版本检测的“条件注释”。从IE开始,IE不再支持条件注释IE 10,从而使该方法绝对无用。 还有其他明显的问题要注意吗?



11
用户代理字符串可以达到多大?
如果您打算将用户代理存储在数据库中,那么您需要容纳多少? 我找到了这篇Technet文章,建议将UA保持在200以下。它看起来并不是HTTP规范中定义的,至少不是我发现的。我的UA已经是149个字符,而且似乎每个.NET版本都将添加到其中。 我知道我可以解析字符串并将其分解,但我宁愿不这样做。 编辑 在此基础上博客 IE9将改变以发送短UA字符串。这是一个很好的变化。

14
什么是iPad用户代理?
据我所知,iPad使用的是iPhone OS,但屏幕分辨率与iPhone和iPod touch不同。因此,许多站点可能必须更改其用户代理检测以适应iPad。 那么,有权使用iPad或iPad SDK的任何人都可以给我们用户代理字符串吗?
114 ipad  user-agent 


7
获取操作系统信息
我最近开始想知道像http://thismachine.info/这样的站点,这些站点可以获取用户的操作系统信息。我还无法找出如何使用PHP进行操作,因此想尝试找出答案。 我注意到他们列出了user-agent,其中提供了有关浏览器的大量信息。他们是从中获得操作系统信息还是从其他事物中获得操作系统信息?有没有我可以用来获取用户操作系统的API? 我知道他们是如何获得浏览器和IP的,但无法弄清操作系统部分!


2
使用JavaScript获取用户代理
我想要一个可以捕获用户的用户代理并将其支持给属性的脚本。 我正在制作网站问题联系表格,通常需要知道用户使用的是哪种浏览器。如何检测用户代理字符串并将其支持为输入元素的值。 我的html看起来像: <input type="hidden" id="UserAgent" name="User Agent" /> 我希望将用户代理添加为value属性,使其看起来像: <input type="hidden" id="UserAgent" name="User Agent" value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" />

3
如何使用curl获取与使用Chrome完全相同的GET请求?
我有一个Web API,http://something.com/api并且我想使用GET获取响应正文。 这是我的命令: curl "http://something.com/api" 当然,它会失败并给出错误消息。 当我使用Chrome并输入上述网址时,一切正常。但是我用Firefox做同样的事情,URL给了我同样的错误信息。我尝试使用Chrome扩展程序DHC重复该操作,请求再次给出正确的响应。经过一些搜索,我相信curl选项--user-agent会有所作为。将用户代理设置为Chrome的正确方法是什么?还是这不是重点,问题出在其他领域吗?非常感谢你。
85 curl  user-agent 

12
从用户代理或Java脚本检测64位或32位Windows?
我想提供正确的下载版本。我的版本是: 32位Windows 64位Windows 的Linux 使用“用户代理”字段检测Linux很容易。但是可以可靠地确定Windows是32位还是64位? 用户可能使用的是奇怪的浏览器-IE和Firefox很常见,我们可能在某个地方有Opera用户。也许还有Chrome用户。我知道64位Windows 7附带了IE的32位和64位版本,我想将下载的64位版本都发送给他们。 (编辑添加:我知道我应该提供所有选项,但是我会的。但是人们不会阅读这些选项。因此,我希望默认情况下提供正确的下载,以提高可用性。当然,这是有帮助的如果我做对了,如果我做错了,那将是无济于事的。从目前的答案来看,这似乎还没有可靠的方法)。

3
如何在PHP中获得用户代理
我正在使用此JS代码来了解用户使用的浏览器。 <script> document.write(navigator.appName); </script> 而且我想将此navigator.appName转换为php代码以使用它,如下所示: if ($appName == "Internet Explorer") { // blabla } 我该怎么做?
79 php  user-agent 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.