标签: user-agent

如何使用PHP检测"Google Chrome"作为用户代理?

我很想知道用户代理是否是使用PHP在服务器端的"Chrome".是否有可靠的正则表达式来解析请求标头中的用户代理字符串?

php regex user-agent google-chrome browser-detection

19
推荐指数
3
解决办法
4万
查看次数

是否可以使用ac#console应用程序中的HttpBrowserCapabilities?

我需要从控制台应用程序解析UserAgent字符串,这似乎是一种简单的方法,但我显然没有HttpRequest对象,似乎无法使用User-Agent标头制作假的(我得到平台不支持例外).有没有办法做到这一点,还是应该开始探索用户代理解析的其他替代方案?

c# browser parsing user-agent http

19
推荐指数
1
解决办法
4118
查看次数

Rails 3:HTTP_USER_AGENT

我正在检测用户代理以获取网站上的技术支持,以便用户不需要自己找到它.这是我到目前为止所得到的,但无论我在哪个浏览器上测试它都显示为默认的"未知"任何关于我哪里出错的建议?

def cyberbrowser
    mybrowser = ENV["HTTP_USER_AGENT"] 
       case mybrowser 
         when /MSIE 8.0/ then "Internet Explorer V8" 
         when /MSIE 7.0/ then "Internet Explorer V7" 
         when /MSIE 6.0/ then "Internet Explorer V6.0+" 
         when /MSIE 5.5/ then "Internet Explorer V5.5" 
         when /MSIE 5.22/ then "Internet Explorer V5.22" 
         when /MSIE 5.0/ then "Internet Explorer V5.0+" 
         when /MSIE 4.0/ then "Internet Explorer V4.0+" 
         when /MSIE 3.0/ then "Internet Explorer V3.0+" 
         when /MSIE 2.0/ then "Internet Explorer V2.0+" 
         when /Firefox/ then "Mozilla Firefox"
         when /Camino/ then "Camino" …
Run Code Online (Sandbox Code Playgroud)

user-agent ruby-on-rails-3

19
推荐指数
1
解决办法
2万
查看次数

PHP未定义索引:HTTP_USER_AGENT

以下代码验证访问该站点的用户代理,但是我收到错误.我需要更新哪些内容以适应没有设置用户代理的情况?

错误 PHP注意:未定义的索引:第7行的Utils.php中的HTTP_USER_AGENT

public static function detectBrowser()
    {
        $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);

        if (preg_match('/opera/', $userAgent)) {
            $name = 'opera';
        }
        elseif (preg_match('/webkit/', $userAgent)) {
            $name = 'safari';
        }
        elseif (preg_match('/msie/', $userAgent)) {
            $name = 'msie';
        }
        elseif (preg_match('/mozilla/', $userAgent) && !preg_match('/compatible/', $userAgent)) {
            $name = 'mozilla';
        }
        else {
            $name = 'unrecognized';
        }

        if (preg_match('/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches)) {
            $version = $matches[1];
        }
        else {
            $version = 'unknown';
        }

        if (preg_match('/linux/', $userAgent)) {
            $platform = 'linux';
        }
        elseif (preg_match('/macintosh|mac os …
Run Code Online (Sandbox Code Playgroud)

php user-agent

19
推荐指数
2
解决办法
4万
查看次数

如何使用.net更改selenium中的用户代理

我想用不同的代理(iPhone,iPad,Android)测试用.NET编写的Web应用程序,我正在使用NUnit进行测试和Selenium.

任何人都有一个样本用c#或VB在Selenium中更改代理(例如iPad或iPhone)?

.net selenium user-agent webdriver selenium-webdriver

19
推荐指数
1
解决办法
1万
查看次数

IE 11将不同的User-Agent标头发送到不同的子域

好吧,我一直致力于在子域之间进行基于用户代理的共享会话保护.

我非常惊讶它在最近发布IE 11预览版之前一直运行良好.有2个子域

example.comsub.example.com

我拦截了对两个域的请求,似乎发送到每个域的USER-AGENT HTTP Header是不同的.

对example.com的请求有:

User-Agent:像Gecko一样的Mozilla/5.0(Windows NT 6.1; WOW64; Trident/7.0; rv:11.0)

对sub.example.com的请求有:

User-Agent: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; BRI/1; MS-RTC LM 8; rv:11.0)和Gecko一样

你知道这种奇怪的动态行为是什么原因吗?

internet-explorer user-agent http http-headers internet-explorer-11

18
推荐指数
2
解决办法
4万
查看次数

假装Firefox而不是Phantom.js

当我尝试使用Phantomjs 废弃此站点时,默认情况下,Phantomjs会将以下标头发送到服务器:

"name":"User-Agent",
"value":"Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.1 Safari/534.34"}
Run Code Online (Sandbox Code Playgroud)

我得到了status 405 "Not Allowed"回应.

我在Phantomjs API Reference中读到,为了模仿来自其他浏览器的请求,我应该更改我的User-Agent值.在维基百科上,我找到了我应该用来假装在Ubuntu下的Firefox的价值:

'name': 'User-Agent',
'value': 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:16.0) Gecko/20120815 Firefox/16.0'
Run Code Online (Sandbox Code Playgroud)

我应该在Phantomjs的哪个部分放置这些属性?我应该在哪里插入它们 - 在page.open里面,或在page.evaluate里面,或者在它的顶部?

user-agent web-scraping http-status-code-405 phantomjs

18
推荐指数
1
解决办法
2万
查看次数

功能检测,功能推断和使用UA字符串之间有什么区别

我最近在求职面试中被问到这个问题,特别是围绕Javascript.我想知道正确的回应.

究竟是什么区别feature detection,feature inference以及使用 User agent字符串?

javascript user-agent browser-feature-detection

18
推荐指数
2
解决办法
7846
查看次数

我如何欺骗一个查看JavaScript对象"导航器"的网站,看看我不在Windows上?

我正在尝试浏览一个网站,但是,它只适用于Windows和Mac,因为它们使用navigator.platformJavaScript来查找我正在运行的体系结构.当然,他们也使用浏览器的用户代理,但这很容易欺骗.

这是有问题的.js:http://pastebin.com/f56fd608d.负责浏览器检测的代码位于顶部.有没有办法在网站运行之前更改.js文件,或类似的东西,所以我可以取消支票?

使用JavaScript控制台产生:

>navigator.platform
Linux i686

显然,我更改了浏览器的用户代理,但navigator.platform似乎没有从用户代理获取它的值.

也许有人知道如何更改返回的值navigator.platform,因为我讨厌在VirtualBox下运行Windows来使用此站点.

编辑:这可能是有趣的,因为Linux用户可能被人为地拒绝访问网站,并且无能为力.

javascript browser user-agent

17
推荐指数
3
解决办法
1万
查看次数

移动浏览器检测?

我们正在寻找一种方法来确定用户是否使用移动浏览器.我们需要通过解析用户代理字符串在PHP中执行此操作.我知道这种方法有很多注意事项,但我们确实需要这样做.

你有什么建议吗?一个好的(即使不是完美的)更新代码?

我知道WURFL,我相信它很棒,但它不能免费用于非开源项目.通过谷歌搜索,我也发现了这个代码:http://mobiforge.com/developing/story/lightweight-device-detection-php(以及一些变体),但我不确定.看起来它写得非常糟糕(例如,看看,当他们使用$ mobile_browser ='0'时,引号围绕整数...).

你能推荐什么吗?

谢谢,

亚历山德罗

php mobile user-agent browser-detection

17
推荐指数
2
解决办法
2万
查看次数