php strrew,[PHP] 使用browscap檢查瀏覽器版本

自動目錄

PHP 手冊中有檢查瀏覽器版本的函數 get_browser()

但這個函數沒經過設定是無法使用的

echo $_SERVER['HTTP_USER_AGENT'];

echo "
";

// 第一個參數可以指定user agent,第二個參數設為true回傳陣列,否則回傳物件

$browser = get_browser(null, true);

print_r($browser);

執行

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0

Warning: get_browser(): browscap ini directive not set in xxx.php

設定

一、下載 browscap.ini

可選下載PHP browscap.ini的版本有輕量版、完整版或一般版本 ,此檔必須手動更新,以免新版本的瀏覽器無法辨識。

二、修改 php.ini ,我使用絕對路徑,以免出現錯誤

尋找[browscap]這個tab,加入一行

[browscap]

browscap = /etc/php.d/browscap.ini

重新啟動 APACHE

三、重新執行

我下載完整版本後執行的結果

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0 0

Array ( [browser_name_regex] => ~^mozilla/5\.0 \(.*windows nt 6\.1.*wow64.*\) gecko.* firefox/53\.0.*$~ [browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.1*WOW64*) Gecko* Firefox/53.0* [parent] => Firefox 53.0 [browser_bits] => 32 [platform] => Win7 [platform_version] => 6.1 [platform_description] => Windows 7 [platform_bits] => 64 [platform_maker] => Microsoft Corporation [win64] => 1 [device_name] => Windows Desktop [device_code_name] => Windows Desktop [comment] => Firefox 53.0 [browser] => Firefox [browser_type] => Browser [browser_maker] => Mozilla Foundation [version] => 53.0 [majorver] => 53 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [javascript] => 1 [javaapplets] => 1 [cssversion] => 3 [device_type] => Desktop [device_pointing_method] => mouse [renderingengine_name] => Gecko [renderingengine_version] => 53.0 [renderingengine_description] => For Firefox, Camino, K-Meleon, SeaMonkey, Netscape, and other Gecko-based browsers. [renderingengine_maker] => Mozilla Foundation [browser_modus] => unknown [minorver] => 0 [alpha] => [beta] => [win16] => [win32] => [backgroundsounds] => [vbscript] => [activexcontrols] => [ismobiledevice] => [istablet] => [issyndicationreader] => [crawler] => [isfake] => [isanonymized] => [ismodified] => [aolversion] => 0 [device_maker] => unknown [device_brand_name] => unknown )

相當的詳細

參考資料

[2] PHP Warning:  Cannot open 'extra/browscap.ini' for reading in Unknown on line 0

此錯誤發生原因為 php.ini的設定檔指定的 browscap.ini找不到,請將他設為絕對路徑或註解掉";"可解決。

原文編修 2013-08-31 01:04:41

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以在程序中使用com.blueconic.browscap.UserAgentParser库以下方式: 1. 在项目中添加依赖。如果您使用Maven,可以在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.blueconic</groupId> <artifactId>browscap</artifactId> <version>3.0.0</version> </dependency> ``` 2. 在程序中引入com.blueconic.browscap.UserAgentParser包。 3. 创建com.blueconic.browscap.UserAgentParser对象。 4. 使用parse方法解析用户代理字符串,返回com.blueconic.browscap.UserAgent对象。 ``` import com.blueconic.browscap.UserAgent; import com.blueconic.browscap.UserAgentParser; UserAgentParser parser = new UserAgentParser(); String userAgentString = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"; UserAgent userAgent = parser.parse(userAgentString); ``` 然后,您可以使用解析出的UserAgent对象访问浏览器相关信息,如浏览器名称、版本、操作系统等。 ``` String browserName = userAgent.getBrowser(); String browserVersion = userAgent.getVersion(); String operatingSystem = userAgent.getOperatingSystem(); ``` ### 回答2: 使用Java库com.blueconic.browscap.UserAgentParser可以解析用户代理字符串,以获取有关用户代理的各种信息。 首先,你需要导入该库,可以通过在你的项目中添加以下依赖项来实现: ```xml <dependency> <groupId>com.blueconic</groupId> <artifactId>browscap</artifactId> <version>3.0.1</version> </dependency> ``` 接下来,你可以创建一个UserAgentParser对象,该对象将提供用于解析用户代理字符串的方法: ```java UserAgentParser parser = new UserAgentParser(); ``` 接下来,你可以使用该库提供的方法来解析用户代理字符串并获取相关的信息。例如,要获取用户代理的浏览器名称,可以使用以下代码: ```java String userAgentString = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"; UserAgent userAgent = parser.parse(userAgentString); String browser = userAgent.getBrowser(); System.out.println("Browser: " + browser); ``` 同样,你可以获取其他信息,例如操作系统、设备类型、是否为移动设备等等。这些信息可以通过以下代码获取: ```java String os = userAgent.getOperatingSystem(); String deviceType = userAgent.getDeviceType(); boolean isMobile = userAgent.isMobile(); ``` 这只是一个简单的示例,你可以根据需要进一步使用该库。该库还提供了其他功能,例如按条件过滤用户代理字符串等。 使用com.blueconic.browscap.UserAgentParser库,你可以方便地解析用户代理字符串以获取关于用户代理的详细信息,并可以据此进行进一步的处理或分析。 ### 回答3: 使用java库com.blueconic.browscap.UserAgentParser可以解析和分析用户代理字符串,从而获取有关用户设备、操作系统和浏览器的信息。 首先,你需要导入com.blueconic.browscap.UserAgentParser库到你的项目中。可以通过在项目的构建文件中添加依赖项或手动下载并导入jar文件实现。 接下来,创建UserAgentParser对象,可以通过以下方式实现: UserAgentParser parser = new UserAgentParser(); 然后,你可以使用UserAgentParser对象来解析用户代理字符串并获取设备、操作系统和浏览器的信息。例如,你可以通过以下方式获取用户设备相关信息: String userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"; UserAgent agent = parser.parse(userAgent); // 获取设备类型 String deviceType = agent.getDeviceType(); // 获取设备名称 String deviceName = agent.getDeviceName(); // 获取设备制造商 String deviceBrand = agent.getDeviceBrand(); 接下来,你可以使用类似的方法获取操作系统和浏览器的相关信息。例如: // 获取操作系统名称 String osName = agent.getOperatingSystem(); // 获取浏览器名称 String browserName = agent.getBrowser(); 使用以上方法,你可以根据用户代理字符串获取有关用户设备、操作系统和浏览器的信息。 最后,记得在使用完UserAgentParser对象后,调用close()方法释放资源: parser.close(); 总结起来,使用java库com.blueconic.browscap.UserAgentParser可以通过解析用户代理字符串来获取用户设备、操作系统和浏览器的信息,这在开发跟踪用户信息、适配网页或统计分析等场景中非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值